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

PostgreSQLデータベースをダンプするときに関数定義を除外する

    私が知っている限りでは、 pg_dump および pg_dumpall そのような制限はサポートしていません。

    あなたはできた 次のように、すべての関数をダンプから除外できる専用スキーマに移動します。

    pg_dump mydb -N function_schema > mydump.sql
    

    そのルートに進むと、関数を別のスキーマに移行 できます。 このように:

    ALTER FUNCTION myfunc() SET SCHEMA function_schema;
    

    この場合、search_pathも調整します postgresql.conf内 (そしておそらくデータベースとロールのデフォルトで)

    SET search_path = public,function_schema [,more schemas]
    

    代替として 、関数をデフォルトのスキーマpublicのままにしておくことができます そのスキーマを他の目的に使用しないでください。オブジェクトを1つ以上の個別のスキーマに配置します。これにより、PostGisのアップグレードが簡単になります。

    しないことをお勧めします publicを使用する オブジェクトのスキーマ。私は通常、publicにインストールするPostGisまたはその他の拡張機能用に予約しています デフォルトでは。私はすべてのアプリケーションに専用のスキーマを使用するのが好きです。バックアップや権限の付与など、メンテナンスが簡単になります。




    1. ORA-29283の解決方法:無効なファイル操作

    2. mysqlテーブルから前日のレコードを取得するにはどうすればよいですか?

    3. OracleでORDERを使用してINSERT

    4. 外部キー制約が正しく形成されていないため、テーブルの作成が失敗する