using disable-triggers in pg_dump

Поиск
Список
Период
Сортировка
От Nick Fankhauser - Doxpop
Тема using disable-triggers in pg_dump
Дата
Msg-id NEBBLAAHGLEEPCGOBHDGEEHNLJAA.nickf@doxpop.com
обсуждение исходный текст
Ответы Re: using disable-triggers in pg_dump
Список pgsql-admin
Hi-

One of our processes requires merging data from a staging database into a
production database. I'd like to do this without taking the production
database off-line, but I'm running into a problem with triggers.

One of the tables is populated and maintained solely by triggers set up on
three other tables, so as those tables are being copied into the production
database, many triggers are running, thus slowing the process considerably.
Since the data created by the triggers already exists in this table in the
database to be merged, if I could copy all of the data in with the triggers
off, the process would be much faster and the end result identical.

However, I need those triggers on to handle other updates & inserts in the
production database unless it is taken off-line for duration of the merge
process.

I've noted the --disable-triggers option for pg_dump, but it appears that
this option would shut off the triggers for all sessions, not just the
session in which I am doing the copy.

The command that pg_dump generates looks like this:
UPDATE pg_catalog.pg_class SET reltriggers = 0 WHERE oid =
'court_config'::pg_catalog.regclass;

Can someone confirm that this is indeed affecting the database for all
sessions and if so, suggest a way to turn off the triggers just for the
session doing the data copy?

Thanks
    -Nick

---------------------------------------------------------------------
Nick Fankhauser

    nickf@doxpop.com  Phone 1.765.965.7363  Fax 1.765.962.9788
doxpop - Court records at your fingertips - http://www.doxpop.com/



В списке pgsql-admin по дате отправления:

Предыдущее
От: brew@theMode.com
Дата:
Сообщение: Re: [PERFORM] started Data Warehousing
Следующее
От: "Chris Smith"
Дата:
Сообщение: Re: [PERFORM] syslog slowing the database?