This is the pgtcl-ng Windows Binary Release README Last updated for pgtclng-1.6.2 on 2007-12-27 The project home page is: http://pgfoundry.org/projects/pgtclng/ ----------------------------------------------------------------------------- OVERVIEW: Pgtcl is the Tcl interface for the PostgreSQL Database Management System. It is a loadable Tcl module implementing commands which allow an application to interact with a PostgreSQL database. Pgtcl-ng is the "next generation" implementation of Pgtcl. This is a binary release for Windows. Provided your system meets the requirements below, you can use this without compiling or building. Two binary releases of Pgtclng-1.6.2 are available for Windows, one for Tcl-8.4.x and one for Tcl-8.5.x. See REQUIREMENTS below. This release was built with and includes the PostgreSQL-8.2.5 run-time client library libpq, and was tested against a PostgreSQL-8.2.5 server. The source release and full documentation for pgtcl-ng are available at the site listed in the header of this file. Even though you may freely use and redistribute this binary release in accordance with the open-source license in COPYING, we suggest you also download the source release - just because you can. REQUIREMENTS: + ActiveState ActiveTcl 8.4.9 or 8.5.0 (see http://www.activestate.com ) These are the tested version. Other patch levels of 8.4.x and 8.5.x may work. NOTE: Pgtcl-ng binary releases are compatible ONLY with a specific version of ActiveTcl: 8.4 or 8.5. You must download and use the correct version of Pgtcl-ng for your version of Tcl. + A PostgreSQL database server somewhere on your network. This has been tested with PostgreSQL-8.2.5, although most of the Pgtcl commands will probably work with older versions. You will not need any client-side PostgreSQL files. CONTENTS: README.txt .............. This file COPYING .................. License file (Open Source) libpgtcl.dll ............. The pgtcl loadable library blibpq.dll ............... The PostgreSQL libpq loadable library pkgIndex.tcl ............. Tcl package index file KNOWN BUGS and LIMITATIONS - Windows Release: + Changes to the connection control environment variables (such as PGHOST, PGDATABASE) are not seen once the DLL is loaded. This is either a Windows DLL environment variable issue, a Tcl environment variable issue, or both. This should not be a problem, since environment variables are mostly for setting outside your application. + Only TCP/IP is supported - no Unix Domain Sockets. So a hostname (or IP address) must be provided when connecting. This should not be a problem, since the PostgreSQL server doesn't run on Windows (not counting Cygwin ports), so your database server is likely to be across the network anyway. If you do actually have a PostgreSQL server running on the same host, you need to specify host=localhost or host=127.0.0.1 to connect to it. + This is not built using "stubs", so it will only run with a specific version of Tcl. (The reason is that Pgtcl libraries are compiled with Borland C, and ActiveTcl is compiled with MSVC, and there is no way to use the stubs library.) RELEASE ISSUES: + Pgtclng-1.6.2 contains a fix for a character set encoding issue which occurs if you are using non-ASCII data with certain database encodings. There was no problem if your database used UTF8 (Unicode) encoding, but if it was a different encoding such as Latin1, there could be problems translating data between Tcl and PostgreSQL. This only occurs on Windows and affects all releases before Pgtclng-1.6.2. + This package contains some experimental commands which are subject to change. More details can be found in the reference manual. INSTALLATION and USAGE: Refer to the reference manual for more details. Here is a quick summary of the two most common ways to install and use this release: Option 1) Package Require (a) Create a new directory "Pgtcl1.6" under the Tcl library directory. For example, this might be: "c:\Program Files\Active Tcl\lib". Note: you can use the 3-part version if you prefer: "Pgtcl1.6.0". (b) Copy the files: libpgtcl.dll, blibpq.dll, and pkgIndex.tcl into that directory. (c) You application uses: "package require Pgtcl" Note that this works because of a modified pkgIndex.tcl file, which allows Windows to find the dependent libpq.dll library. Option 2) Direct Loading: (a) Copy blibpq.dll into a directory on your PATH, or into the Tcl "bin" directory. This is where it needs to be so Windows can find it. (b) Copy libpgtcl.dll into any directory where it is convenient for your application, or into a directory on your PATH, or into the Tcl "bin" directory. (c) Your application uses: "load .../libpgtcl.dll" where ".../" is a path prefix which you need to supply if libpgtcl is not installed on PATH or in the Tcl "bin" directory. -----------------------------------------------------------------------------