Как быстро сделать копию базы данных PostgreSQL не прибегая к созданию/восстановлению из резервной копии
|
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() |
еще несколько вариантов
|
createdb -T my_old_database my_new_database; |
На крайняк придется делать pg_dump, createdb and pg_restore, e.g.
|
pg_dump -Fc -f olddb.pgdump -d olddb &&\ createdb newdb &&\ pg_restore -d newdb olddb.pgdump |