一部のテーブルを9.5ベータ2から9.4.4サーバーにダンプしようとしています。私が使用しているコマンドの形式はかなり標準的です:
pg_dump -t table dbname | psql -h hostname -d dbname
私はPostgresユーザーを使用していますが、これはおそらく理想的ではないと思いますが、これらはどちらも私が使用する開発データ処理ボックスであり、以下のエラーに関連しています。最初に、エラーが発生しました
エラー:認識されない構成パラメーター "row_security"
これは、この機能が9.5で新しく追加されたために予想されます。そうです。Postgresの異なるバージョン間でpg_dumpを実行することはお勧めできませんが、非常にあいまいなバグに遭遇し、大きな静的データの量。
したがって、この恐ろしいハックを使用してrow_securityエラーを削除し、最初のエラーで停止をオンにします。
pg_dump -t tablemame dbname |sed 's/SET row_security = off;//'|
psql -v ON_ERROR_STOP=1 -h hostname -d dbname
私は今得ます:
エラー:「pg_catalog.tablename」を作成する権限が拒否されました詳細:システムカタログの変更は現在許可されていません
Postgresユーザー/ロールを使用することは望ましくないかもしれませんが、私の理解では、このような性質の権限の問題はないはずです。これは1回限りの操作であり、これらはライブサービスに接続されていないデータ処理開発ボックスであるため、理想的な企業データアクセスポリシーよりも好都合です。そうは言っても、これを正しく行う方法を理解し、今後これを回避することは良いことです。