Documentation PostgreSQL 9.2.24 > Annexes > Modules supplémentaires fournis > dblink > dblink_open | |
dblink_exec | dblink_fetch |
dblink_open — ouvre un curseur sur une base de données distante
dblink_open(text cursorname, text sql [, bool fail_on_error]) returns text dblink_open(text connname, text cursorname, text sql [, bool fail_on_error]) returns text
dblink_open() ouvre un curseur sur une base de données distante. Le curseur peut ensuite être manipulé avec dblink_fetch() et dblink_close().
Le nom de la connexion à utiliser ; ce paramètre doit être omis pour utiliser une connexion sans nom.
Nom à affecter au curseur.
L'instruction SELECT à exécuter sur l'hôte distant, par exemple SELECT * FROM pg_class.
Si true (valeur par défaut en cas d'omission), une erreur distante est reportée localement comme une erreur locale. Dans le cas contraire, un message d'erreur distant est traité localement comme un message de type NOTICE, et la valeur de retour de la fonction est positionné à ERROR.
Puisqu'un curseur ne peut persister qu'au sein d'une transaction, dblink_open lance un bloc de transaction explicite (BEGIN) côté distant, si le côté distant n'est pas déjà à l'intérieur d'une transaction. Cette transaction est refermée à l'exécution de l'instruction dblink_close. Si dblink_exec est utilisée pour modifier les données entre dblink_open et dblink_close, et qu'une erreur survient ou que dblink_disconnect est utilisé avant dblink_close, les modifications sont perdues car la transaction est annulée.