From: | Michael Fuhr <mike(at)fuhr(dot)org> |
---|---|
To: | Haris Saybasili <haris(dot)saybasili(at)gmail(dot)com> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: trigger between to different database |
Date: | 2005-08-15 03:12:50 |
Message-ID: | 20050815031250.GA93409@winnie.fuhr.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Mon, Aug 08, 2005 at 09:41:22PM +0300, Haris Saybasili wrote:
>
> I have two databasese: database1 and database2. I want to set a
> trigger on a table of database1 which will insert some values to a
> table of database2.
You could use contrib/dblink but you wouldn't have transaction
semantics. For example, suppose you insert a record into database1
and the trigger inserts a record into database2. If you then roll
back the transaction in database1, there's no simple way to roll
back the changes in database2.
Another possibility would be to use LISTEN/NOTIFY, which does work
with transactions (NOTIFY messages aren't sent until and unless the
transaction commits). But this has problems too: you have to find
out what record(s) to insert, and what should happen if the insert
in database2 fails? Should the changes in database1 be rolled back
somehow, even though they've already been committed?
Do you really need separate databases? The problems described above
would go away if you used multiple schemas in the same database
instead of multiple databases.
--
Michael Fuhr
From | Date | Subject | |
---|---|---|---|
Next Message | Kenneth Gonsalves | 2005-08-15 03:15:38 | Re: trigger between to different database |
Previous Message | Tom Lane | 2005-08-15 00:33:11 | Re: insert into / select from / serial problem |