dblink_exec — ejecuta un comando en una base de datos remota
dblink_exec(text connname, text sql [, bool fail_on_error]) returns text dblink_exec(text connstr, text sql [, bool fail_on_error]) returns text dblink_exec(text sql [, bool fail_on_error]) returns text
dblink_exec ejecuta un comando (es decir, cualquier sentencia SQL
que no devuelva filas) en una base de datos remota.
Cuando se proporcionan dos argumentos text, el primero se busca primero
como el nombre de una conexión persistente; si se encuentra, el comando
se ejecuta en esa conexión. Si no se encuentra, el primer argumento
se trata como una cadena de información de conexión como para dblink_connect,
y la conexión indicada se realiza únicamente durante la duración de este comando.
connnameNombre de la conexión a utilizar; omite este parámetro para usar la conexión sin nombre.
connstr
Una cadena de información de conexión, como se describió anteriormente para
dblink_connect.
sql
El comando SQL que deseas ejecutar en la base de datos remota,
por ejemplo
insert into foo values(0, 'a', '{"a0","b0","c0"}').
fail_on_error
Si es true (el valor por defecto cuando se omite), entonces un error lanzado en el
lado remoto de la conexión hace que también se lance un error
localmente. Si es false, el error remoto se reporta localmente como una NOTICE,
y el valor de retorno de la función se establece en ERROR.
Devuelve el estado, ya sea la cadena de estado del comando o ERROR.
SELECT dblink_connect('dbname=dblink_test_standby');
dblink_connect
----------------
OK
(1 row)
SELECT dblink_exec('insert into foo values(21, ''z'', ''{"a0","b0","c0"}'');');
dblink_exec
-----------------
INSERT 943366 1
(1 row)
SELECT dblink_connect('myconn', 'dbname=regression');
dblink_connect
----------------
OK
(1 row)
SELECT dblink_exec('myconn', 'insert into foo values(21, ''z'', ''{"a0","b0","c0"}'');');
dblink_exec
------------------
INSERT 6432584 1
(1 row)
SELECT dblink_exec('myconn', 'insert into pg_class values (''foo'')',false);
NOTICE: sql error
DETAIL: ERROR: null value in column "relnamespace" violates not-null constraint
dblink_exec
-------------
ERROR
(1 row)