- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:カラムの一覧を取得したい)
MySQLからPostgreSQLへの移行でカラム一覧を取得する方法
このQ&Aのポイント
- MySQLからPostgreSQLへの移行時に、テーブルとカラムの一覧を取得する方法を探しています。
- MySQLでは「show tables;」コマンドでテーブル一覧を取得できますが、PostgreSQLでは「select * from pg_stat_user_tables」コマンドが該当するようです。
- しかし、MySQLの「show fields from TABLE_NAME;」コマンドに該当するPostgreSQLのコマンドが見つかりません。ご存知の方は教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
多くのRDBMSでは、ディクショナリ(システムカタログ)をSQLで参照できるようにしており、SHOWといった特別なコマンドを利用させるMySQLが特殊なのです。 MySQLもバージョン5からか、英文マニュアルではカタログ情報が詳しく記載されています。 【SQL例】 select a.relname, b.attrelid, b.attname, b.attnum, b.atttypmod, b.attnotnull, b.atthasdef from pg_attribute as b, (select relid, relname from pg_stat_user_tables ) as a where a.relid = b.attrelid and b.attnum > 0 order by b.attrelid, b.attnum ; ●システムカタログ http://www.postgresql.jp/document/pg800doc/html/catalogs.html ●システムカタログの参照方法 http://www.pen-chan.jp/net/set/psql-catalog.html
お礼
chukenkenkouさん、こんにちは。 バタバタしていましたので、お返事が遅くなってしまいました。 ありがとうございます。まさに、欲しい結果を得ることが出来ました。 これまでMacやWindowsの世界のみで、4thDimensionというかなりマイナー (メーカさんには失礼だと思いますが(^^;)なDBを使用しており、汎用的な SQL DB(と表現してよいかどうかもわからないのですが)を利用しなければ ならなくなり、初めて触ったのがMySQLだったものですから、それが自分の中 での基準になっておりました。勉強不足を痛感しました。 これから、しっかりと勉強していきたいと思います。 ありがとうございました。 今後も宜しくお願い致します。