Re: [INTERFACES] A few more JDBC meta-data questions...
От | D'Arcy" "J.M." Cain |
---|---|
Тема | Re: [INTERFACES] A few more JDBC meta-data questions... |
Дата | |
Msg-id | m11GhGe-0000dbC@druid.net обсуждение исходный текст |
Ответ на | A few more JDBC meta-data questions... (Mark Dzmura <mdz@phalanx.phalanx.net>) |
Список | pgsql-interfaces |
Thus spake Mark Dzmura > 1. Is it possible to programatically enumerate or discover the databases in a running database?? > > 2. Is it possible to programmaticaly enumerate or discover the tables in a database?? -- get list of databases SELECT datname FROM pg_database; -- get list of tables including views but not system tables SELECT relname FROM pg_class WHERE relkind = 'r' AND relname !~ '^Inv' AND relname!~ '^pg_'; And for completeness; -- get list of attributes and types for a specific table SELECT pg_attribute.attname, pg_type.typname FROM pg_class, pg_attribute, pg_type WHERE pg_class.relname = 'tablename'AND pg_attribute.attnum > 0 AND pg_attribute.attrelid = pg_class.oid AND pg_attribute.atttypid= pg_type.oid; -- get list of tables and primary keys (assumes no complex keys) -- only includes tables with primary keys so no views SELECT pg_class.relname, pg_attribute.attname FROM pg_class, pg_attribute, pg_index WHERE pg_class.oid =pg_attribute.attrelid AND pg_class.oid = pg_index.indrelid AND pg_index.indkey[0] = pg_attribute.attnum AND pg_index.indisprimary = 't'; -- D'Arcy J.M. Cain <darcy@{druid|vex}.net> | Democracy is three wolves http://www.druid.net/darcy/ | and a sheep voting on +1 416 424 2871 (DoD#0082) (eNTP) | what's for dinner.
В списке pgsql-interfaces по дате отправления: