Received: from maia.hub.org (maia-2.hub.org [200.46.204.251]) by mail.postgresql.org (Postfix) with ESMTP id 38347B5DC38 for ; Tue, 2 Aug 2011 09:36:18 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.251]) (amavisd-maia, port 10024) with ESMTP id 66103-02 for ; Tue, 2 Aug 2011 12:36:10 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from outrelay03.libero.it (outrelay03.libero.it [212.52.84.103]) by mail.postgresql.org (Postfix) with ESMTP id 31604B5DBBF for ; Tue, 2 Aug 2011 09:36:09 -0300 (ADT) X-CTCH-Spam: Unknown X-CTCH-RefID: str=0001.0A0B020C.4E37EF38.021E,ss=1,re=0.000,fgs=0 X-libjamoibt: 1821 Received: from wmail46 (172.31.0.236) by outrelay03.libero.it (8.5.133) (authenticated as francescoboccacci@libero.it) id 4DE4FF1D04C8479C for pgsql-admin@postgresql.org; Tue, 2 Aug 2011 14:36:08 +0200 Message-ID: <13669451.4531041312288568915.JavaMail.defaultUser@defaultHost> Date: Tue, 2 Aug 2011 14:36:08 +0200 (CEST) From: "francescoboccacci@libero.it" Reply-To: "francescoboccacci@libero.it" To: pgsql-admin@postgresql.org Subject: dblink question about duplicate connection MIME-Version: 1.0 Content-Type: text/plain;charset="UTF-8" Content-Transfer-Encoding: 7bit X-SenderIP: 213.182.95.210 X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0.005 tagged_above=-10 required=5 tests=BAYES_50=0.8, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-0.806, T_TO_NO_BRKTS_FREEMAIL=0.01 X-Spam-Level: X-Archive-Number: 201108/10 X-Sequence-Number: 37997 Dear all, i have a question about dblink connection.I use it in a trigger function : CREATE OR REPLACE FUNCTION setuser() RETURNS trigger AS $BODY$ DECLARE BEGIN IF (TG_OP = 'INSERT') THEN PERFORM dblink_connect('conn_test', 'dbname=database_test'); PERFORM dblink_exec('conn_test','insert into users ...... Somentimes happend that an error accours in insert data and when i try to run new insert posgresql return and error like duplicate connection. I would like to change my functions in this way: CREATE OR REPLACE FUNCTION setuser() RETURNS trigger AS $BODY$ DECLARE BEGIN IF (TG_OP = 'INSERT') THEN If 'conn_test' exist PERFORM dblink_disconnect('conn_test'); else PERFORM dblink_connect('conn_test', 'dbname=database_test'); PERFORM dblink_exec('conn_test','insert into users How can write my new function? Thanks Francesco Boccacci