Обсуждение: Postgres back up error

Поиск
Список
Период
Сортировка

Postgres back up error

От
Azimuddin Mohammed
Дата:

Hello All,

I am trying to implement postgres database backup and restore on existing database. I am using the pg_dump utility to back up the database pg_dump -U postgres  testdb  -f testdb.sql

My backup is successfully generated with the latest data in it BUT when I restore this file using the command “psql -U postgres db.sql testdb  -f  in another standby server I am getting this below error. I understand that its stopping me because the database already exist with table column  as primary key column. How can I over write this I need to restore my database nightly on my standby server.

 

SET

SET

SET

SET

SET

SET

SET

SET

CREATE EXTENSION

COMMENT

SET

SET

SET

Psql testdb_pg_backup.sql:47: ERROR:  relation "company" already exists

ALTER TABLE

Psql testdb_pg_backup.sql:60: ERROR:  relation "department" already exists

ALTER TABLE

psql: testdb_pg_backup.sql:72: ERROR:  duplicate key value violates unique constraint "company_pkey"

DETAIL:  Key (id)=(1) already exists.

CONTEXT:  COPY company, line 1

COPY 0

psql: testdb_pg_backup.sql:88: ERROR:  multiple primary keys for table "company" are not allowed

psql: testdb_pg_backup.sql:96: ERROR:  multiple primary keys for table "department" are not allowed

 

Re: Postgres back up error

От
"David G. Johnston"
Дата:
On Thursday, April 26, 2018, Azimuddin Mohammed <azimeiu@gmail.com> wrote:

Hello All,

I am trying to implement postgres database backup and restore on existing database. I am using the pg_dump utility to back up the database pg_dump -U postgres  testdb  -f testdb.sql

My backup is successfully generated with the latest data in it BUT when I restore this file using the command “psql -U postgres db.sql testdb  -f  in another standby server I am getting this below error. I understand that its stopping me because the database already exist with table column  as primary key column. How can I over write this I need to restore my database nightly on my standby server.


Basically dump/restore requires the target to be empty and the entire dump is restored into it.  Somewhere in your proces you need to send an instruction to the "standby" server to "drop database" if you wish to use dump/restore.  If you'd like incremental backup you will want to use a different toolset.

David J.