2016-09-02 7 views
0

私は、postgresデータベースに対するアドホック分析のためにいくつかのクエリを実行します。何度も、各クエリの後に終了するのではなく、その日までに接続を開いたままにします。接続を終了せずにpostrgresを復元する

私は5分ごとにシェルスクリプトを通してscpでpostgresダンプを受け取り、接続を切断せずにデータベースを復元したいと思います。これは可能ですか?

答えて

1

ユーザーが接続されているときに実行できない数少ない活動の1つは、データベースを削除することです。
したがって–復元中に何かしている場合は、–の方法を変更する必要があります。データベースを削除しないでください(pg_dumpまたはpg_restoreには-Cオプションを使用しないでください)。スキーマに依存しないスキーマおよびオブジェクト(大きなオブジェクトなど)を削除して再作成しないでください。
pg_dumpまたはpg_restoreのフラグを-cに使用できます。

その他の問題は、開いているトランザクション(トランザクション”の状態“アイドル)との接続です。このような接続では、オブジェクトを削除したり再作成したりすることのないロックを保持できます。そのためには、pg_terminate_backend()を使用する必要があります。

関連する問題