Re: pg_restore

Поиск
Список
Период
Сортировка
От Ron
Тема Re: pg_restore
Дата
Msg-id c576d9d8-afbb-dbaa-92c9-586cfb860b68@gmail.com
обсуждение исходный текст
Ответ на pg_restore  (rammohan ganapavarapu <rammohanganap@gmail.com>)
Ответы Re: pg_restore  (Ron <ronljohnsonjr@gmail.com>)
Список pgsql-admin
On 4/11/19 5:09 PM, rammohan ganapavarapu wrote:
Hi,

I have a custome database called mudb along with default databases in my postgresql cluster, i am trying to restore mydb from a custom format pg_dump file, what is the procedure to do it?

psql -t -h localhost  -U ${RUN_USER}  -c "SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'mydb' AND pid <> pg_backend_pid();"

pg_restore" -h localhost  -U ${RUN_USER}  -d mydb -j "${JOBS}" -x -O -C -c --if-exist -v pgdump.dump 

But i am getting below error:

pg_restore: connecting to database for restore
pg_restore: dropping DATABASE mydb
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 4312; 1262 16384 DATABASE mydb mydb
pg_restore: [archiver (db)] could not execute query: ERROR:  cannot drop the currently open database
    Command was: DROP DATABASE IF EXISTS mydb;

So what is the best way to restore? I am using 9.6 version.

I made the same mistake you did, by doing "-d mydb".  You need to specify the postgres database.

This works for me:
export PGUSER=${RUN_USER}
export PGHOST=localhost
DB=mydb
pg_restore -xOvcC --if-exists --jobs=${JOBS} -d postgres ${DB} 2> ${DB}_restore.log


--
Angular momentum makes the world go 'round.

В списке pgsql-admin по дате отправления:

Предыдущее
От: rammohan ganapavarapu
Дата:
Сообщение: pg_restore
Следующее
От: Ron
Дата:
Сообщение: Re: pg_restore