Earlier today, Tom Lane wrote:
> "David Begley" <d.begley@uws.edu.au> writes:
> > This means when the dump is imported to another PostgreSQL instance, the
> > resultant ACLs do not match those of the original instance.
>
> Please provide a concrete test case, not handwaving.
C:\Program Files\PostgreSQL\8.1\bin>createdb concrete "Test Case"
CREATE DATABASE
COMMENT
C:\Program Files\PostgreSQL\8.1\bin>psql -q concrete
concrete=# REVOKE ALL ON DATABASE concrete FROM PUBLIC;
concrete=# REVOKE ALL ON DATABASE concrete FROM david;
concrete=# SELECT datacl FROM pg_database WHERE datname = 'concrete';
datacl
--------
{}
(1 row)
concrete=# \q
C:\Program Files\PostgreSQL\8.1\bin>pg_dump -C -f \windows\temp\dump.sql concrete
C:\Program Files\PostgreSQL\8.1\bin>dropdb -q concrete
C:\Program Files\PostgreSQL\8.1\bin>psql -f \windows\temp\dump.sql postgres
SET
SET
SET
CREATE DATABASE
ALTER DATABASE
You are now connected to database "concrete".
SET
SET
SET
COMMENT
COMMENT
CREATE LANGUAGE
REVOKE
REVOKE
GRANT
GRANT
C:\Program Files\PostgreSQL\8.1\bin>psql -q concrete
concrete=# SELECT datacl FROM pg_database WHERE datname = 'concrete';
datacl
--------
(1 row)
concrete=# -- datacl in restored database does not match origin database
concrete=# \q