Experienced some pg_dumpall weirdness this past weekend when dumping a
cluster to propagate it to some other servers;
here are the first 18 lines of the pg_dumpall output:
--
-- pg_dumpall (7.1.2)
--
\connect template1
DELETE FROM pg_shadow WHERE usesysid <> (SELECT datdba FROM pg_database
WHERE datname = 'template0');
db1|db1_dba|
db2|db2_dba|
db3|db3_dba|
postgres|postgres|
template0|postgres|
template1|postgres|Default template database
CREATE USER "db1_dba" WITH SYSID 10 PASSWORD 'dba_passwd1' CREATEDB
CREATEUSER;
CREATE USER "db1_user" WITH SYSID 11 PASSWORD 'usr_passwd1' NOCREATEDB
NOCREATEUSER;
CREATE USER "db2_dba" WITH SYSID 20 PASSWORD 'dba_passwd2' CREATEDB
CREATEUSER;
CREATE USER "db2_user" WITH SYSID 21 PASSWORD 'user_passwd2' NOCREATEDB
NOCREATEUSER;
CREATE USER "db3_dba" WITH SYSID 30 PASSWORD 'dba_passwd3' CREATEDB
CREATEUSER;
CREATE USER "db3_usr" WITH SYSID 31 PASSWORD 'usr_passwd3' NOCREATEDB
NOCREATEUSER;
psql -f pg_cluster_dump.sql template1;
systax error on line 13 near "db1"
what are the: <schema_name>|<schema_owner>| directives all about? They are
obviously(?) causing a syntax error in the CREATE USER line that follows
them - user "db1_dba" was not being created. A kludgely solution was to
simply duplicate the line. The question is, why did those lines get
inserted?
I did successfully propagate the cluster and found that all subsequent
pg_dumpall executions were fine; in other words I (fortunately) could not
repro the problem.
Any obvious explanations?
tjm
"All usernames and passwds in this program have been changed to protect the
innocent"