From: | Ron <ronljohnsonjr(at)gmail(dot)com> |
---|---|
To: | pgsql-admin(at)lists(dot)postgresql(dot)org |
Subject: | Re: pg_restore |
Date: | 2019-04-11 23:12:44 |
Message-ID: | c576d9d8-afbb-dbaa-92c9-586cfb860b68@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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.
From | Date | Subject | |
---|---|---|---|
Next Message | Ron | 2019-04-11 23:16:55 | Re: pg_restore |
Previous Message | rammohan ganapavarapu | 2019-04-11 22:09:47 | pg_restore |