PGADMIN IIIはどのように作成されたステートメントを作成しますか?
-
16-10-2019 - |
質問
postgreSqlには、ありません SHOW CREATE
たとえばMySQLから知られている声明。ただし、PGADMIN IIIクライアントプログラムを使用してオブジェクトの詳細に移動すると、対応するCREATEステートメントが表示されます。
だからここに私の質問があります:
PGADMIN IIIは、それが示す作成ステートメントをどのように構築しますか? PSQLを使用していますか \d
コマンドまたはまったく異なるpostresql API?もしそうなら、どうすればそれを使用できますか?
解決
pgadminには独自のリバースエンジニアリング機能があります - 次のようなシステムテーブルを調べるだけです pg_class
と pg_attribute
詳細を見つけるために。
あなたが探しているものが実際にあなたが何か他のものから使用できるオブジェクトの作成ステートメントを作成する簡単な方法である場合、あなたは pg_dump
pgadminの代わりに、はるかに簡単です。特に、1つ以上のオブジェクトを見たい場合は、使用できます pg_dump -s -t tablename
そして、それはあなたに必要な作成ステートメントを提供します。
他のヒント
私が知る限り、PGADMINはシステムカタログでSQLクエリを実行して、テーブル定義の詳細を組み立てます。その情報に基づいて、作成テーブルステートメントを「再作成」します。
所属していません dba.stackexchange