PostgreSQL 9.0.0文書
前のページ | 巻戻し |  | 早送り | 次のページ

# dblink_open

## 名前

dblink_open -- リモートデータベースでカーソルを開きます

## 概要

    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()`はリモートデータベースでカーソルを開きます。 その後カーソルを`dblink_fetch()`と`dblink_close()`で操作することができます。

## 引数

`conname`

  使用する接続の名前です。 無名の接続を使用する場合はこのパラメータを省略します。

`cursorname`

  このカーソルに割り当てる名前です。

`sql`

  例えば`select * from pg_class`といった、リモートデータベースで実行させたい`SELECT`文です。

`fail_on_error`

  真（省略時のデフォルト）の場合、接続のリモート側で発生したエラーによりローカル側でもエラーが発生します。 偽の場合リモート側のエラーはローカル側にはNOTICEとして報告され、この関数の戻り値は`ERROR`になります。

## 戻り値

状態、つまり`OK`または`ERROR`を返します。

## 注釈

カーソルはトランザクション内でのみ持続することができますので、リモート側がまだトランザクションの内部でない場合、`dblink_open`はリモート側で明示的なトランザクションブロックを開始（`BEGIN`）します。 このトランザクションは対応する`dblink_close`が実行された時に同様に閉ざされます。 `dblink_open`と`dblink_close`の間に`dblink_exec`を使用してデータを変更した場合、エラーが発生することに注意してください。 また、`dblink_close`の前に`dblink_disconnect`を使用すると、トランザクションがアボートしますので変更が失われることに注意してください。

## 例

    SELECT dblink_connect('dbname=postgres');
     dblink_connect
    ----------------
     OK
    (1 row)

    SELECT dblink_open('foo', 'select proname, prosrc from pg_proc');
     dblink_open
    -------------
     OK
    (1 row)

前のページ | ホーム | 次のページ
dblink_exec | 上に戻る | dblink_fetch