pgAdmin でデータベース全体 (その構造とデータ) を新しいデータベースにコピーする正しい方法は何ですか?
ベストアンサー1
Postgres では、新しいデータベースを作成するときに、サーバー上の既存のデータベースをテンプレートとして使用できます。pgAdmin のデータベース作成ダイアログにオプションが表示されるかどうかはわかりませんが、表示されない場合は、クエリ ウィンドウで以下を実行できるはずです。
CREATE DATABASE newdb WITH TEMPLATE originaldb OWNER dbuser;
それでも、次のような結果になる場合があります:
ERROR: source database "originaldb" is being accessed by other users
他のすべてのユーザーをデータベースから切断するには、次のクエリを使用できます。
SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'originaldb' AND pid <> pg_backend_pid();