Pgtcl is the name of the Tcl package that is made available when libpgtcl is built and installed.
In the past, many people have loaded libpgtcl by using an explicit load...
load ./libpgtcl.so.14
In the modern era, the libpgtcl shared library is built and installed and automatically loaded when the Pgtcl package is requested...
package require Pgtcl
Pgtcl 1.5 release (soon to be released)
With version 1.5, there are some new features added, that I will demonstrate by annotating an interactive tclsh session:
schwarz@thor:~/code/cvs/libpgtcl> /usr/local/tcl8.5/bin/tclsh8.5 % load ./libpgtcl1.5.so % array set conninfo { host 192.168.123.180 port 5801 dbname template1 user postgres } % set conn(1) [pg::connect -connlist [array get conninfo]] pgsql3 % set conn(2) [pg::connect -connlist [array get conninfo] -connhandle myhan] myhan % set conn(3) [pg::connect -connlist [array get conninfo] -connhandle pgsql3] Connection to database failed handle already exists % namespace import ::pg::* % dbinfo connections myhan pgsql3 % set res(1) [$conn(1) exec "SELECT relname FROM Pg_class LIMIT 5"] pgsql3.0 % set res(2) [$conn(2) exec {SELECT * FROM Pg_class LIMIT $1} 4] myhan.0 % dbinfo results $conn(1) pgsql3.0 % dbinfo results $conn(2) myhan.0 % $res(1) -list views data_type_privileges element_types pg_toast_17173_index pg_toast_17173 % $res(2) -llist {views 17057 17219 1 0 17218 0 0 0 0 0 f f v 7 0 0 0 0 0 f f t f {{postgres=arwdRxt/postgres,=r/postgres}}} {data_type_privileges 17057 17222 1 0 17221 0 0 0 0 0 f f v 5 0 0 0 0 0 f f t f {{postgres=arwdRxt/postgres,=r/postgres}}} {element_types 17057 17226 1 0 17225 0 0 0 0 0 f f v 29 0 0 0 0 0 f f t f {{postgres=arwdRxt/postgres,=r/postgres}}} {pg_toast_17173_index 99 0 1 403 17177 0 1 0 0 0 f f i 2 0 0 0 0 0 f f f f {}} % set mydict [$res(2) -dict] 3 {relpages 1 relfkeys 0 relnatts 2 relhasoids f relhassubclass f relam 403 reltoastidxid 0 reltuples 0 relacl {} relhaspkey f reltriggers 0 relname pg_toast_17173_index relrefs 0 reltype 0 relukeys 0 relchecks 0 relisshared f reltablespace 0 reltoastrelid 0 relnamespace 99 relowner 1 relfilenode 17177 relkind i relhasrules f relhasindex f} 2 {relpages 0 relfkeys 0 relnatts 29 relhasoids f relhassubclass f relam 0 reltoastidxid 0 reltuples 0 relacl {{postgres=arwdRxt/postgres,=r/postgres}} relhaspkey f reltriggers 0 relname element_types relrefs 0 reltype 17226 relukeys 0 relchecks 0 relisshared f reltablespace 0 reltoastrelid 0 relnamespace 17057 relowner 1 relfilenode 17225 relkind v relhasrules t relhasindex f} 1 {relpages 0 relfkeys 0 relnatts 5 relhasoids f relhassubclass f relam 0 reltoastidxid 0 reltuples 0 relacl {{postgres=arwdRxt/postgres,=r/postgres}} relhaspkey f reltriggers 0 relname data_type_privileges relrefs 0 reltype 17222 relukeys 0 relchecks 0 relisshared f reltablespace 0 reltoastrelid 0 relnamespace 17057 relowner 1 relfilenode 17221 relkind v relhasrules t relhasindex f} 0 {relpages 0 relfkeys 0 relnatts 7 relhasoids f relhassubclass f relam 0 reltoastidxid 0 reltuples 0 relacl {{postgres=arwdRxt/postgres,=r/postgres}} relhaspkey f reltriggers 0 relname views relrefs 0 reltype 17219 relukeys 0 relchecks 0 relisshared f reltablespace 0 reltoastrelid 0 relnamespace 17057 relowner 1 relfilenode 17218 relkind v relhasrules t relhasindex f} % dict get $mydict 1 relpages 0 relfkeys 0 relnatts 5 relhasoids f relhassubclass f relam 0 reltoastidxid 0 reltuples 0 relacl {{postgres=arwdRxt/postgres,=r/postgres}} relhaspkey f reltriggers 0 relname data_type_privileges relrefs 0 reltype 17222 relukeys 0 relchecks 0 relisshared f reltablespace 0 reltoastrelid 0 relnamespace 17057 relowner 1 relfilenode 17221 relkind v relhasrules t relhasindex f % dict get $mydict 1 relname data_type_privileges % rename $res(2) {} % dbinfo results $conn(2) % dbinfo connections myhan pgsql3 % dbinfo results pgsql3 pgsql3.0 % foreach C [dbinfo connections] {$C disconnect} % dbinfo connections %