Re: pg_dump and schema names

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_dump and schema names
Date: 2013-08-09 05:48:43
Message-ID: 13804.1376027323@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Bruce Momjian <bruce(at)momjian(dot)us> writes:
> pg_dump goes to great lengths not to hard-code the schema name into
> commands like CREATE TABLE, instead setting the search_path before
> creating the table; these commands:

> CREATE SCHEMA xx;
> CREATE TABLE xx.test(x int);

> generates this output:

> SET search_path = xx, pg_catalog;
> CREATE TABLE test (
> x integer
> );

> If you dump a schema and want to reload it into another schema, you
> should only need to update that one search_path line. However, later in
> the dump file, we hardcode the schema name for setting the object owner:

> ALTER TABLE xx.test OWNER TO postgres;

> Could we use search_path here to avoid the schema designation?

Perhaps, but that's not likely to reduce the number of places you have to
edit, unless your dump is only one schema anyway.

The practical difficulties involved can be seen by reading the comments
and code for_getObjectDescription().

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2013-08-09 06:20:02 Re: 9.4 regression
Previous Message James Sewell 2013-08-09 05:20:54 Re: pg_dump and schema names