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 ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match