Обсуждение: Pg_dump does not include database search path in backup file

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

Pg_dump does not include database search path in backup file

От
"Richard Harris"
Дата:
Hi,

I'm using PostgreSQL 7.4.2. I have a database with several user defined
schemas, e.g., public, shr, sys, acc, prt. I have altered the database
search path to include all of the schema.

ALTER DATABASE adp_test_db SET search_path to public, shr, sys, acc,
prt, svc, fi;

I used pg_dump to backup to database.

pg_dump -U adp_dba -C -F p -f /adp/db/backup/at_db_p_text.bak adp_te
st_db

Then I used psql to restore the database from the backup file. However,
psql restored the search path to the default (e.g., $user, public)
rather than the search path with all the schemas.  I found an item in
the mailing lists regarding a 'bug in pg_dump Alter Database' on Tue 29
2004. However, it appears to me that this is about a bug found in
testing the next release, not a bug in a current release. I do not see
any 'alter database' statements setting the search path in the backup
file from pg_dump. Should PostgreSQL 7.4.2 pg_dump include an 'Alter
Database' for the search path? If so, what pg_dump option does this?

Thank you for your help.

Thanks,
Rich Harris

Re: Pg_dump does not include database search path in backup file

От
Tom Lane
Дата:
"Richard Harris" <Richard_Harris@adp.com> writes:
> I'm using PostgreSQL 7.4.2. I have a database with several user defined
> schemas, e.g., public, shr, sys, acc, prt. I have altered the database
> search path to include all of the schema.

> ALTER DATABASE adp_test_db SET search_path to public, shr, sys, acc,
> prt, svc, fi;

> Then I used psql to restore the database from the backup file. However,
> psql restored the search path to the default (e.g., $user, public)
> rather than the search path with all the schemas.

pg_dump only dumps the contents of the database.  Settings associated
with ALTER DATABASE or ALTER USER are considered to be the province
of pg_dumpall.

            regards, tom lane