Fri Aug 26 19:25:39 PDT 2005
- Previous message: [Slony1-general] error of HAVE_NETSNMP
- Next message: [Slony1-general] Failure with UPDATE in EXECUTE SCRIPT
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Earlier this week, we got an error applying an EXECUTE SCRIPT on the slave commands with an UPDATE command in the script. The script looked like: ALTER TABLE ua_users ADD COLUMN is_spider VARCHAR(1); UPDATE ua_users SET is_spider = ''N''; UPDATE ua_users SET is_spider = ''Y'' WHERE login_id LIKE ''webtest_''; ALTER TABLE ua_users ALTER is_spider SET DEFAULT ''N''; ALTER TABLE ua_users ADD CONSTRAINT ck_is_spider CHECK (is_spider IN (''Y'', ''N'')); ALTER TABLE ua_users ALTER is_spider SET NOT NULL; ALTER TABLE ua_users ADD COLUMN is_internal VARCHAR(1); UPDATE ua_users SET is_internal = ''N''; UPDATE ua_users SET is_internal = ''Y'' WHERE email_address LIKE ''%rentrak.com''; ALTER TABLE ua_users ALTER is_internal SET DEFAULT ''N''; ALTER TABLE ua_users ADD CONSTRAINT ck_is_internal CHECK (is_internal IN (''Y'', ''N'')); ALTER TABLE ua_users ALTER is_internal SET NOT NULL; Basically, add a new column, populate it with the UPDATE, and then add constraints. It failed on both slaves with: PGRES_FATAL_ERROR ERROR: could not find trigger 946964630. That trigger is part of a foreign key between ua_users and ua_subscriptions. It is the trigger on the ua_subscriptions table. Both tables are replicated in the same set so I would expect that the EXECUTE SCRIPT command would restore the foreign key triggers on both tables. We have had a similar errors when doing UPDATEs in EXECUTE SCRIPT for similar scripts. I fixed the problem by modifying the DDL_SCRIPT event to just add the tables, ran the UPDATE normally, and then made the constraints in a separate execute script. - Ian
- Previous message: [Slony1-general] error of HAVE_NETSNMP
- Next message: [Slony1-general] Failure with UPDATE in EXECUTE SCRIPT
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-general mailing list