Re: pg_dump and pg_restore relative to the schema

From: "Armand Pirvu (home)" <armand(dot)pirvu(at)gmail(dot)com>
To: pgsql-admin(at)postgresql(dot)org
Subject: Re: pg_dump and pg_restore relative to the schema
Date: 2016-03-07 17:59:23
Message-ID: 66DA16B4-9B84-4392-990A-CF6F62105BCD@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Oops

Forgot to include the pg_dump

1 - I took the table ddl
/usr/pgsql-9.5/bin/pg_dump --username pgdba --format plain --file /var/lib/pgsql/armandp/csireg.csilogs --schema-only -d csireg --table=csi_logs

2 - Dumped the data

/usr/pgsql-9.5/bin/pg_dump --username pgdba --format custom --file /var/lib/pgsql/armandp/csireg.csilogs.data --data-only -d csireg --table=csi_logs

3 - Replaced csilog with csidev in csireg.csilogs

4 - In the new db , which has the schema csidev, I created the table using the DDL from (3)

5 - pg_restore fails
-bash-4.2$ /usr/pgsql-9.5/bin/pg_restore --username=pgdba --format=c /var/lib/pgsql/armandp/csireg.csilogs.data --data-only --dbname=csilog --table=csi_logs
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 3553; 0 29955 TABLE DATA csi_logs pgdba
pg_restore: [archiver (db)] could not execute query: ERROR: relation "csi_logs" does not exist
Command was: COPY csi_logs (log_id, log_time, log_server_name, severity_level, log_message, json_data, stack_trace) FROM stdin;

On Mar 7, 2016, at 11:55 AM, Armand Pirvu (home) <armand(dot)pirvu(at)gmail(dot)com> wrote:

> Hi
>
> I have a table in a db called csi_logs and it resides in it;s own schema called csilog
> I need to move it to a totally different database but with a different schema called csidev
>
> 1 - I took the table ddl
> /usr/pgsql-9.5/bin/pg_dump --username pgdba --format plain --file /var/lib/pgsql/armandp/csireg.csilogs --schema-only -d csireg --table=csi_logs
>
> 2 - Replaced csilog with csidev in csireg.csilogs
>
> 3 - In the new db , which has the schema csidev, I created the table using the DDL from (2)
>
> 4 - pg_restore fails
> -bash-4.2$ /usr/pgsql-9.5/bin/pg_restore --username=pgdba --format=c /var/lib/pgsql/armandp/csireg.csilogs.data --data-only --dbname=csilog --table=csi_logs
> pg_restore: [archiver (db)] Error while PROCESSING TOC:
> pg_restore: [archiver (db)] Error from TOC entry 3553; 0 29955 TABLE DATA csi_logs pgdba
> pg_restore: [archiver (db)] could not execute query: ERROR: relation "csi_logs" does not exist
> Command was: COPY csi_logs (log_id, log_time, log_server_name, severity_level, log_message, json_data, stack_trace) FROM stdin;
>
> Bu the table is there . So is the schema also embedded in the data file ? I am going plain format now to see but if that would be the case, why embed the schema in a data only file ?
> Any other gotchas ?
>
> Thank you
> Armand
>
>

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Stephen Kuntz 2016-03-07 18:23:17 Re: WAL replay asking for very old WAL
Previous Message Armand Pirvu (home) 2016-03-07 17:55:59 pg_dump and pg_restore relative to the schema