[pgsql-jp: 27391] Re: 一時テーブルの有無を調べる方法は?

Hiroki Takada takada @ rh.xdsl.ne.jp
2002年 9月 12日 (木) 13:09:52 JST


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

高田と申します.

こんにちは.

> PL/pgSQL の関数内で「テーブルの有無を調べて、なければ CREATE す
> る」という処理をやりたく思っています。できれば一時テーブルで。
> 
> 永続テーブルなら pg_tables を調べればいいのですが、一時テーブル
> の有無を判定する方法が分かりません。

複数のプロセスがその処理を同時に行うのでしょうか?

もしそうで,かつ,グローバルな(どの接続からも参照できる)
(一時)テーブルを定義するのであれば,仮に調べる方法が分っ
たとしても,クリティカルセクションが生じますので,セマ
フォを使うなどの工夫が必要になります.

バックエンドとの接続を毎回行うという前堤(複数のプロセス
で接続を使いまわししないという前堤)であれば,

CREATE LOCAL TEMP TABLE テーブル名;

で,その接続でしか参照できない,一時テーブルを作成する
ことはできます.

では.

- -- 
 ----------------------------------------------------
    Hiroki Takada <takada @ rh.xdsl.ne.jp>

    My public key is available at the public key
    servers. The message was signed as iso-2022-jp
    char-set document in no PGP/MINE (RFC 2015)
    format.
 ----------------------------------------------------


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: KUHASIKU WA http://www.gnupg.org/ WO GORANKUDASAI

iD8DBQE9gBOOyTl8Jc+E3sERAjSlAKCQHhml4pVCOgHj7RLbZ2UD3t9CogCgitkp
ZceWiloEkiRkJKrG4mkM/L4=
=UFL8
-----END PGP SIGNATURE-----



pgsql-jp メーリングリストの案内