Обсуждение: BUG #4127: pg_dumpall -c unable to be restored without error
The following bug has been logged online: Bug reference: 4127 Logged by: Jacob Champlin Email address: jacobc@rentec.com PostgreSQL version: 8.1.11 Operating system: SuSE 10.1 Description: pg_dumpall -c unable to be restored without error Details: In 8.0 I would do a pg_dumpall -c to backup my database. In 8.1 you guys have added functionality to the -c flag to make it now DROP and Recreate Roles. Nice feature and seems to be the right thing to do. However, with the DROP Roles in the file this causes the file to not be able to be restored. psql -f restore.sql results in: psql:/var/lib/pgsql/backups/restore.sql:11: ERROR: current user cannot be dropped psql:/var/lib/pgsql/backups/restore.sql:12: ERROR: role "postgres" already exists psql:/var/lib/pgsql/backups/restore.sql:17: ERROR: role "webapp" cannot be dropped because some objects depend on it DETAIL: access to database rief 113 objects in database rief psql:/var/lib/pgsql/backups/restore.sql:18: ERROR: role "webapp" already exists
"Jacob Champlin" <jacobc@rentec.com> writes: > psql -f restore.sql > results in: > psql:/var/lib/pgsql/backups/restore.sql:11: ERROR: current user cannot be > dropped > psql:/var/lib/pgsql/backups/restore.sql:12: ERROR: role "postgres" already > exists > psql:/var/lib/pgsql/backups/restore.sql:17: ERROR: role "webapp" cannot be > dropped because some objects depend on it > DETAIL: access to database rief > 113 objects in database rief > psql:/var/lib/pgsql/backups/restore.sql:18: ERROR: role "webapp" already > exists And? The restore would've proceeded anyway. regards, tom lane
And if this is expected correct behavior it shouldn't throw an error.... This is especially problematic for automated processes, in which you only want to know when they fail. Its possible to ignore error messages, but then when something real does go wrong you lose those. Don't get me wrong I know this is not the end of the world, but I also think its the wrong behavior, one that is problematic for me. Jacob Tom Lane wrote: > "Jacob Champlin" <jacobc@rentec.com> writes: > >> psql -f restore.sql >> > > >> results in: >> > > >> psql:/var/lib/pgsql/backups/restore.sql:11: ERROR: current user cannot be >> dropped >> psql:/var/lib/pgsql/backups/restore.sql:12: ERROR: role "postgres" already >> exists >> psql:/var/lib/pgsql/backups/restore.sql:17: ERROR: role "webapp" cannot be >> dropped because some objects depend on it >> DETAIL: access to database rief >> 113 objects in database rief >> psql:/var/lib/pgsql/backups/restore.sql:18: ERROR: role "webapp" already >> exists >> > > And? The restore would've proceeded anyway. > > regards, tom lane > >