This is what I've created:
CREATE OR REPLACE FUNCTION contractor.insert_into_iso()
RETURNS TRIGGER AS $$
BEGIN
PERFORM dblink_connect('dbname=ISO');
PERFORM dblink_exec('INSERT INTO public.trades (market, trader, strategy, pricedate, hour, nodename, sinknode, bidvolume, bidprice, utc) VALUES (''' || NEW.market || ''', ''' || NEW.trader || ''', ' || NEW.strategy || ', ''' || NEW.pricedate || ''', ' || NEW.hour || ', ''' || NEW.nodename || ''', ''' || NEW.sinknode || ''', ' || NEW.bidvolume || ', ' || NEW.bidprice || ', ' || NEW.utc || ')');
PERFORM dblink_disconnect();
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER insert_into_iso_trig
AFTER INSERT ON contractor.trades
FOR EACH ROW
EXECUTE FUNCTION insert_into_iso();
But when I insert data into contractor.trades, nothing gets inserted into public.trades on the second db named ISO.