sql >> データベース >  >> RDS >> PostgreSQL

SQLクエリを使用してPostgresqlで関数、シーケンス、タイプなどの定義を取得します

    関数の定義を取得するには、pg_get_functiondef()を使用します :

    select pg_get_functiondef(oid)
    from pg_proc
    where proname = 'foo';
    

    インデックス、ビュー、ルールなどの定義を取得するための同様の関数があります。詳細については、マニュアルを参照してください: http://www.postgresql.org /docs/current/static/functions-info.html

    ユーザータイプの定義を取得するのは少し注意が必要です。 information_schema.attributesをクエリする必要があります そのために:

    select attribute_name, data_type
    from information_schema.attributes
    where udt_schema = 'public'
      and udt_name = 'footype'
    order by ordinal_position;
    

    そこから、create typeを再構築する必要があります ステートメント。

    詳細については、システムカタログのドキュメントを読む必要があります: http ://www.postgresql.org/docs/current/static/catalogs.html

    ただし、information_schemaを優先する必要があります 同じ情報を返す場合は表示されます。



    1. JDBC自動クエリが非常に遅くなりました

    2. PHPでmysqlLOADステートメントを使用すると失敗しますが、コマンドラインから実行すると機能します

    3. Oracleを使用してINTOを選択

    4. JDBC:OracleApplicationServerとネットワークアダプタは接続エラーを確立できませんでした