Re: trigger between to different database

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

In response to

Browse pgsql-sql by date

  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