examples of using the options for pg_result (pg::result): % set reshandle [pg_exec $connhandle "SELECT * FROM Pg_class LIMIT 5"] % pg_result $reshandle -status PGRES_TUPLES_OK % pg_result $reshandle -error % pg_result $reshandle -conn pgsql188 % pg_result $reshandle -numTuples 5 % pg_result $reshandle -numAttrs 24 % pg_result $reshandle -assign resArray % parray resArray resArray(0,relacl) = {postgres=a*r*w*d*R*x*t*/postgres,=r/postgres} resArray(0,relam) = 0 resArray(0,relchecks) = 0 resArray(0,relfilenode) = 17100 . . . resArray(4,reltoastidxid) = 0 resArray(4,reltoastrelid) = 0 resArray(4,reltriggers) = 0 resArray(4,reltuples) = 0 resArray(4,reltype) = 17116 resArray(4,relukeys) = 0 % unset resArray % pg_result $reshandle -assignbyidx resArray % parray resArray resArray(table_constraints,relacl) = {postgres=a*r*w*d*R*x*t*/postgres,=r/postgres} resArray(table_constraints,relam) = 0 resArray(table_constraints,relchecks) = 0 resArray(table_constraints,relfilenode) = 17100 . . . resArray(triggers,relrefs) = 0 resArray(triggers,reltoastidxid) = 0 resArray(triggers,reltoastrelid) = 0 resArray(triggers,reltriggers) = 0 resArray(triggers,reltuples) = 0 resArray(triggers,reltype) = 17116 resArray(triggers,relukeys) = 0 % pg_result $reshandle -getTuple 0 table_constraints 16977 17101 1 0 17100 0 0 0 0 f f v 9 0 0 0 0 0 f f t f {{postgres=a*r*w*d*R*x*t*/postgres,=r/postgres}} % unset resArray % pg_result $reshandle -tupleArray 0 resArray % parray resArray resArray(relacl) = {postgres=a*r*w*d*R*x*t*/postgres,=r/postgres} resArray(relam) = 0 resArray(relchecks) = 0 resArray(relfilenode) = 17100 resArray(relfkeys) = 0 resArray(relhasindex) = f resArray(relhasoids) = f resArray(relhaspkey) = f . . . resArray(reltoastidxid) = 0 resArray(reltoastrelid) = 0 resArray(reltriggers) = 0 resArray(reltuples) = 0 resArray(reltype) = 17101 resArray(relukeys) = 0 % pg_result $reshandle -attributes relname relnamespace reltype relowner relam relfilenode relpages reltuples reltoastrelid reltoastidxid relhasindex relisshared relkind relnatts relchecks reltriggers relukeys relfkeys relrefs relhasoids relhaspkey relhasrules relhassubclass relacl % pg_result $reshandle -lAttributes {relname 19 64} {relnamespace 26 4} {reltype 26 4} {relowner 23 4} {relam 26 4} {relfilenode 26 4} {relpages 23 4} {reltuples 700 4} {reltoastrelid 26 4} {reltoastidxid 26 4} {relhasindex 16 1} {relisshared 16 1} {relkind 18 1} {relnatts 21 2} {relchecks 21 2} {reltriggers 21 2} {relukeys 21 2} {relfkeys 21 2} {relrefs 21 2} {relhasoids 16 1} {relhaspkey 16 1} {relhasrules 16 1} {relhassubclass 16 1} {relacl 1034 -1} % pg_result $reshandle -list table_constraints 16977 17101 1 0 17100 0 0 0 0 f f v 9 0 0 0 0 0 f f t f {{postgres=a*r*w*d*R*x*t*/postgres,=r/postgres}} table_privileges 16977 17105 1 0 17104 0 0 0 0 f f v 8 0 0 0 0 0 f f t f {{postgres=a*r*w*d*R*x*t*/postgres,=r/postgres}} tables 16977 17109 1 0 17108 0 0 0 0 f f v 9 0 0 0 0 0 f f t f {{postgres=a*r*w*d*R*x*t*/postgres,=r/postgres}} ... % pg_result $reshandle -llist {table_constraints 16977 17101 1 0 17100 0 0 0 0 f f v 9 0 0 0 0 0 f f t f {{postgres=a*r*w*d*R*x*t*/postgres,=r/postgres}}} {table_privileges 16977 17105 1 0 17104 0 0 0 0 f f v 8 0 0 0 0 0 f f t 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} . . . % dict get $mydict 1 relpages 0 relfkeys 0 relnatts 5 relhasoids f relhassubclass f relam 0 reltoastidxid 0 reltuples 0 relacl ... % % dict get $mydict 1 relname data_type_privileges