On 09/04/2013 07:02 AM, Evan Martin wrote:
Also, even without --clean I get 3 errors:
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 6755; 2618 4417788 RULE
geometry_columns_delete em
pg_restore: [archiver (db)] could not execute query: ERROR: rule
"geometry_columns_delete" for relation "geometry_columns" already exists
Command was: CREATE RULE geometry_columns_delete AS ON DELETE TO
geometry_columns DO INSTEAD NOTHING;
(and same for "geometry_columns_insert" and "geometry_columns_update")
This is probably because I have PostGIS installed as an extension (in
both the source and target databases), which creates those rules. Could
pg_restore use CREATE OR REPLACE whenever possible to avoid this?
I could see where CREATE OR REPLACE would lead to hidden corruption. It
is in entirely possible for a RULE or FUNCTION to have the same name in
different databases, but have different code under the name. Blindly
REPLACEing would get you past the error messages, however it is possible
that it leads to all sorts of headaches later.
--
Adrian Klaver
adrian.kla...@gmail.com
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general