summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/FAQ/FAQ_japanese.html88
1 files changed, 50 insertions, 38 deletions
diff --git a/doc/src/FAQ/FAQ_japanese.html b/doc/src/FAQ/FAQ_japanese.html
index fb5a4ee3892..644995069ac 100644
--- a/doc/src/FAQ/FAQ_japanese.html
+++ b/doc/src/FAQ/FAQ_japanese.html
@@ -7,7 +7,7 @@
<H1>
PostgreSQL(ポストグレス・キュー・エル)についてよくある質問とその解答(FAQ)</H1>
<P>
-原文最終更新日: Mon Mar 18 14:34:57 EST 2002
+原文最終更新日: Fri Apr 26 23:03:46 EDT 2002
<P>
現在の維持管理者: Bruce Momjian (<A
HREF="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
@@ -94,12 +94,12 @@ http://www.PostgreSQL.org/docs/faq-english.html</A>
<H2><CENTER>操作上の質問</CENTER></H2>
<A HREF="#4.1">4.1</A>) バイナリ・カーソルと通常カーソルとの違いは何ですか?<BR>
-<A HREF="#4.2">4.2</A>) 最初の数行のみを <small>select</small> するにはどうしますか?<BR>
+<A HREF="#4.2">4.2</A>) 最初の数ロウのみを <small>select</small> するにはどうしますか?<BR>
<A HREF="#4.3">4.3</A>) テーブルやその他の情報のリストを <I>psql</I> で見るにはどうしますか?<BR>
-<A HREF="#4.4">4.4</A>) テーブルから列の削除はどのようにしますか?<BR>
-<A HREF="#4.5">4.5</A>) 行、テーブル、データベースの最大サイズは?<BR>
+<A HREF="#4.4">4.4</A>) テーブルからカラムの削除はどのようにしますか?<BR>
+<A HREF="#4.5">4.5</A>) ロウ、テーブル、データベースの最大サイズは?<BR>
<A HREF="#4.6">4.6</A>) 一般的なテキストファイルからデータを保存するには、データベースのディスク容量はどのくらい必要ですか?<BR>
-<A HREF="#4.7">4.7</A>) データベース内に定義されたテーブルやインデックスをどのようにして見つけ出しますか?<BR>
+<A HREF="#4.7">4.7</A>) 定義されたテーブル、インデックス、データベース、および、ユーザをどのようにして見つけ出しますか?<BR>
<A HREF="#4.8">4.8</A>) 問い合わせが遅いうえ、インデックスを使っている様子がありません。なぜですか?<BR>
<A HREF="#4.9">4.9</A>) 問い合わせオブティマイザがどのように問い合わせを評価するかを見るにはどうしますか?<BR>
<A HREF="#4.10">4.10</A>) R-tree インデックスとは何ですか?<BR>
@@ -116,11 +116,11 @@ http://www.PostgreSQL.org/docs/faq-english.html</A>
<A HREF="#4.18">4.18</A>) エラーメッセージ <I>"ERROR: Memory exhausted in AllocSetAlloc()"</I>が出るのはなぜですか?<BR>
<A HREF="#4.19">4.19</A>) どのバージョンの PostgreSQL を走らせているのかを調べるにはどうしますか?<BR>
<A HREF="#4.20">4.20</A>) ラージオブジェクトの操作で、<I>invalid large obj descriptor</I>と出るのはなぜですか?<BR>
-<A HREF="#4.21">4.21</A>) 現在の時刻がデフォルトとなるような列はどのようにつくりますか?<BR>
+<A HREF="#4.21">4.21</A>) 現在の時刻がデフォルトとなるようなカラムはどのようにつくりますか?<BR>
<A HREF="#4.22">4.22</A>) なぜ、<small>IN</small>を使う副問い合わせがとても遅いのですか?<BR>
<A HREF="#4.23">4.23</A>) <i>外部</i>結合(<i>outer</i> join)はどのように実現しますか?<BR>
-<A HREF="#4.24">4.24</A>) 複数のデータベースを使う問い合わせはどのようにすればできますか?
-
+<A HREF="#4.24">4.24</A>) 複数のデータベースを使う問い合わせはどのようにすればできますか?<br>
+<A HREF="#4.25">4.25</A>) 関数で複数のロウまたはカラムを返すにはどうしますか?<br>
<H2><CENTER>PostgreSQLの拡張についての質問</CENTER></H2>
@@ -814,7 +814,7 @@ PostgreSQL Administrator's Gide に共有メモリーとセマフォについての情報の詳細があ
<P> postgreSQL プログラムには、デバグと性能測定にとても役に立つ <I>-s</I>や <I>-A</I>や <I>-t</I> 等のオプションがあります。
-<P> 何という関数がどのくらい実行時間を食っているかを見るために、プロファイリング(プロフィール付き)でコンパイルすることも可能です。そのバックエンドのプロフィール・ファイルは <I>pgsql/data/base/dbname</I> ディレクトリに格納されるでしょう。クライアントのプロフィールはクライアントの現行ディレクトリに置かれるでしょう。
+<P> 何という関数がどのくらい実行時間を食っているかを見るために、プロファイリング(プロフィール付き)でコンパイルすることも可能です。そのバックエンドのプロフィール・ファイルは <I>pgsql/data/base/dbname</I> ディレクトリに格納されるでしょう。クライアントのプロフィールはクライアントの現行ディレクトリに置かれるでしょう。Linux でまともなプロファイリングを行うには <I>-DLINUX_PROFILE</I> でコンパイルする必要があります。
<P>
@@ -872,13 +872,13 @@ PostgreSQLに許されるバックエンドのプロセス数が制限されているのは、
<P> 詳述は、オンラインマニュアルで <small>DECLARE</small> を見て下さい。
<P>
-<H4><A NAME="4.2">4.2</A>) 最初の数行のみを <small>SELECT</small> するにはどうしますか?
+<H4><A NAME="4.2">4.2</A>) 最初の数ロウのみを <small>SELECT</small> するにはどうしますか?
</H4>
<P> オンラインマニュアルで<small>FETCH</small>を見てください。あるいは、SELECT ... LIMIT....を使ってみて下さい。
-<P>たとえ、欲しいのは最初の数行だけでも、すべての問い合わせを評価しなくてはならないかもしれません。<small>ORDER BY</small> を持った問い合わせを考えてみて下さい。
-もし、<small>ORDER BY</small>に合ったインデックスがあるとすると PostgreSQLは要求された最初の数行だけで評価できるかもしれませんが、でなれば、PostgreSQL は意図した行が生成されるまですべての行を評価しなければならないかもしれません。
+<P>たとえ、欲しいのは最初の数ロウだけでも、すべての問い合わせを評価しなくてはならないかもしれません。<small>ORDER BY</small> を持った問い合わせを考えてみて下さい。
+もし、<small>ORDER BY</small>に合ったインデックスがあるとすると PostgreSQLは要求された最初の数ロウだけで評価できるかもしれませんが、でなれば、PostgreSQL は意図したロウが生成されるまですべてのロウを評価しなければならないかもしれません。
<P>
<H4><A NAME="4.3">4.3</A>) テーブルやその他の情報のリストを <I>psql</I> で見るにはどうしますか?
@@ -890,31 +890,34 @@ PostgreSQLに許されるバックエンドのプロセス数が制限されているのは、
<P>
-<H4><A NAME="4.4">4.4</A>) テーブルから列の削除はどのようにしますか?
+<H4><A NAME="4.4">4.4</A>) テーブルからカラムの削除はどのようにしますか?
</H4>
<P> <small>ALTER TABLE DROP COLUMN</small> はサポートしていませんが、その代わりにこうします:
<PRE>
- SELECT ... -- 削除したい列以外の列をすべて選択します。
+ BEGIN;
+ LOCK TABLE old_table;
+ SELECT ... -- 削除したいカラム以外のカラムをすべて選択します。
INTO TABLE new_table
FROM old_table;
DROP TABLE old_table;
ALTER TABLE new_table RENAME TO old_table;
+ COMMIT;
</PRE>
-[訳注:列の追加は ALTER TABLE ADD COLUMN で行えます。]
+[訳注:カラムの追加は ALTER TABLE ADD COLUMN で行えます。]
<P>
-<H4><A NAME="4.5">4.5</A>) 行、テーブル、データベースの最大サイズは?
+<H4><A NAME="4.5">4.5</A>) ロウ、テーブル、データベースの最大サイズは?
</H4>
<P> 制限は以下のとおりです。
<PRE>
データベースの最大サイズ? 制限無し (500GB のデータベースも存在します)
テーブルの最大サイズ? 16TB
-行の最大サイズ? 7.1以降で制限無し
+ロウの最大サイズ? 7.1以降で制限無し
フィールドの最大サイズ? 7.1以降で1GB
テーブル内での最大ロウ数? 制限無し
テーブル内での最大カラム数? カラムの型により250-1600
@@ -940,7 +943,7 @@ PostgreSQLに許されるバックエンドのプロセス数が制限されているのは、
ファイルの大きさは次のように約6.4MBと見積もることができます:
<PRE>
- 36 bytes: 各行のヘッダ(概算)
+ 36 bytes: 各ロウのヘッダ(概算)
24 bytes: 整数(int)フィールドとテキスト(text)フィールド
+ 4 bytes: ページ上のタップルへのポインタ
----------------------------------------
@@ -963,18 +966,18 @@ PostgreSQLに許されるバックエンドのプロセス数が制限されているのは、
インデックスは、これほどのオーバヘッドは要求しませんが、インデックス付けされるデータを含む以上、それなりに大きくなります。
<P>
-<H4><A NAME="4.7">4.7</A>) データベース内に定義されたテーブルやインデックスをどのようにして見つけ出しますか?
+<H4><A NAME="4.7">4.7</A>) 定義されたテーブル、インデックス、データベース、および、ユーザをどのようにして見つけ出しますか?
</H4>
<P> <I>psql</I> にはいろいろなバックスラッシュ・コマンドがあり、こうした情報を表示します。バックスラッシュ・コマンドの種類を見るには \? を使って下さい。
-<P> また、<I>pgsql/src/tutorial/syscat.source</I> ファイルを走らせてみて下さい。それは、沢山の <small>SELECT</small> 文により必要な情報をデータベースのシステム・テーブルから取り出して例示してくれます。
+<P> また、<I>pgsql/src/tutorial/syscat.source</I> ファイルを走らせてみて下さい。それは、沢山の <small>SELECT</small> 文により必要な情報をデータベースのシステム・テーブルから取り出して例示してくれます。また、<i>pg_</i> で始まるシステムテーブルにも記述されています。さらに、<i>psql -l</i> はすべてのデータベースをリスト表示します。
<P>
<H4><A NAME="4.8">4.8</A>) 問い合わせが遅いうえ、インデックスを使っている様子がありません。なぜですか?
</H4>
インデックスは自動的にすべての問い合わせで使われるわけではありません。テー
-ブルが最小サイズより大きく、問い合わせでそのわずかなパーセンテージの行を
+ブルが最小サイズより大きく、問い合わせでそのわずかなパーセンテージのロウを
選択する時だけ、インデックスは使われます。これはインデックススキャンによ
り起こされるランダムなディスクアクセスは、テーブルをストレートに読む順次
走査よりも遅くなることがときどきあるからです。
@@ -982,7 +985,7 @@ PostgreSQLに許されるバックエンドのプロセス数が制限されているのは、
<P>インデックスを使うかを決定するために、PostgreSQL はテーブルについ
ての統計情報を持たなければなりません。この統計情報は、<SMALL>VACUUM
ANALYZE</SMALL>または、単に <SMALL>ANALYZE</SMALL> を使って収集すること
-ができます。統計情報を使ってオブティマイザはテーブルの中に何行あるかを知
+ができます。統計情報を使ってオブティマイザはテーブルの中にあるロウ数を知
り、インデックスを使うべきかのの決定をより正しくできます。統計情報は最適
な結合順や結合方法を決める上でも貴重なものもあります。統計情報の収集は、
テーブルの内容がかわると毎に繰返しなされるべきです。</P>
@@ -1099,14 +1102,14 @@ Type Internal Name Notes
"char" char 1 character
CHAR(#) bpchar 指定された固定長となるように空白が詰められる
VARCHAR(#) varchar 長さの上限の無いテキスト
-TEXT text 長さの制限は最大行長による
+TEXT text 長さの制限は最大ロウ長による
BYTEA bytea 可変長のバイト配列(null-byte safe)
</PRE>
<P> 内部名にお目にかかるのは、システム・カタログを調べるときや、エラーメッセージを受け取るときです。
-<P> 上記の型のうち後の4つの型は "varlena" 型です(すなわち、ディスクの最初の4バイトがデータ長で、それの後に実際のデータが続きます)。このように実際の空間は宣言された大きさよりも少し大きくなります。しかし、これらのデータ型は<small>TOAST</small>により圧縮されたり複数行に渡って保存されたりして、ディスク上の空間は思ったより小さくなります。
+<P> 上記の型のうち後の4つの型は "varlena" 型です(すなわち、ディスクの最初の4バイトがデータ長で、それの後に実際のデータが続きます)。このように実際の空間は宣言された大きさよりも少し大きくなります。しかし、これらのデータ型は<small>TOAST</small>により圧縮されたり複数ロウに渡って保存されたりして、ディスク上の空間は思ったより小さくなります。
<P><SMALL>CHAR()</SMALL>はいつも長さが同じ文字列を保存するのに最適で
す。<SMALL>VARCHAR()</SMALL> は可変長の文字列を保存するのに最適ですが、
@@ -1120,7 +1123,7 @@ BYTEA bytea 可変長のバイト配列(null-byte safe)
<H4><A NAME="4.15.1">4.15.1</A>) 通番(serial)/自動増分フィールドはどのようにつくりますか?
</H4>
-<P> PostgreSQL は <small>SERIAL</small> データ型をサポートします。列上に通番とインデックスを自動作成します。たとえば、
+<P> PostgreSQL は <small>SERIAL</small> データ型をサポートします。カラム上に通番とインデックスを自動作成します。たとえば、
<PRE>
CREATE TABLE person (
@@ -1138,7 +1141,7 @@ BYTEA bytea 可変長のバイト配列(null-byte safe)
CREATE UNIQUE INDEX person_id_key ON person ( id );
</PRE>
通番についてのもっと詳しい情報は、オンラインマニュアルで <I>create_sequence</I> をご覧下さい。
-<P> また、各行の<I>OID</I>フィールドを一意値として使うこともできます。しかしながら、もしもデータベースをダンプしてりロードする必要がある場合は、<small>OID</small>を温存するために<I>pg_dump</I> で <I>-o</I>オプションを使うか、または、<small>COPY WITH OIDS</I>オプションを使う必要があります。
+<P> また、各ロウの<I>OID</I>フィールドを一意値として使うこともできます。しかしながら、もしもデータベースをダンプしてりロードする必要がある場合は、<small>OID</small>を温存するために<I>pg_dump</I> で <I>-o</I>オプションを使うか、または、<small>COPY WITH OIDS</I>オプションを使う必要があります。
Bruce Momjian の<A HREF="http://www.PostgreSQL.org/docs/aw_pgsql_book">(http://www.PostgreSQL.org/docs/aw_pgsql_book)の Numbering Rows</A>の章にありあます。
@@ -1155,7 +1158,7 @@ HREF="#4.16.1">4.16.1</A> の例で使ったテーブルを使うとすると、Perl では
INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal');
</PRE>
-そうして、<tt>new_id</tt> に保存した新しい値を他の問い合わせに(たとえば、<tt>person</tt> テーブルに対する外部キー(foreign key)のように)使うとよいでしょう。自動的に作られた<small>SEQUENCE</small>オブジェクトの名前は、&lt;<I>table</I>&gt;_&lt;<I>serialcolumn</I>&gt;_<I>seq</I> のようになり、このうち、<I>table</I> と <I>serialcolumn</I> はそれぞれテーブルの名前と<small>SERIAL</small>列の名前です。
+そうして、<tt>new_id</tt> に保存した新しい値を他の問い合わせに(たとえば、<tt>person</tt> テーブルに対する外部キー(foreign key)のように)使うとよいでしょう。自動的に作られた<small>SEQUENCE</small>オブジェクトの名前は、&lt;<I>table</I>&gt;_&lt;<I>serialcolumn</I>&gt;_<I>seq</I> のようになり、このうち、<I>table</I> と <I>serialcolumn</I> はそれぞれテーブルの名前と<small>SERIAL</small>カラムの名前です。
<P>
あるいは、与えられた<small>SERIAL</small>値を、それが既定値として挿入された<I>後で(after)</I>、 <I>currval</I>() 関数を使って取り出すこともできます。たとえば、
@@ -1188,12 +1191,12 @@ HREF="#4.16.1">4.16.1</A> の例で使ったテーブルを使うとすると、Perl では
<H4><A NAME="4.16">4.16</A>) <small>OID</small> とは何ですか? <small>TID</small> とは何ですか?
</H4>
-<P> <small>OID</small> とは一意の行 ID に対する PostgreSQL の答えです。PostgreSQL の中でつくられるすべての行は一意の <small>OID</small> を得ます。<I>initdb</I> で発生される <small>OID</small> はすべて 16384 (<I>backend/access/transam.h</I> から)より小さな値です。<I>initdb</I> 後のすべての <small>OID</small> (ユーザ作成)はそれ以上の値になります。
+<P> <small>OID</small> とは一意のロウID に対する PostgreSQL の答えです。PostgreSQL の中でつくられるすべてのロウは一意の <small>OID</small> を得ます。<I>initdb</I> で発生される <small>OID</small> はすべて 16384 (<I>backend/access/transam.h</I> から)より小さな値です。<I>initdb</I> 後のすべての <small>OID</small> (ユーザ作成)はそれ以上の値になります。
既定では、これらすべての <small>OID</small>は一つのデーブルやデータベース内に留まらず、PostgreSQL インストレーション全体の中で一意です。
-<P> PostgreSQL はテーブル間の行を結びつけるために、そのシステムテーブル内に <small>OID</small> を使います。この <small>OID</small> は特定のユーザの行を識別するためや結合の中で使われることができます。<small>OID</small> の値を保存するためには <I>OID</I> 型を列に使うことを奨めます。より速くアクセスするために <I>OID</I> フィールドにインデックスを作ることができます。
+<P> PostgreSQL はテーブル間のロウを結びつけるために、そのシステムテーブル内に <small>OID</small> を使います。この <small>OID</small> は特定のユーザのロウを識別するためや結合の中で使われることができます。<small>OID</small> の値を保存するためには <I>OID</I> 型をカラムに使うことを奨めます。より速くアクセスするために <I>OID</I> フィールドにインデックスを作ることができます。
- O<small>ID</small> は、全てのデータベースで使われる中央領域から、全ての新しい行に割り当てられます。<small>OID</small> を他の何かに変えたい、あるいは元の <small>OID</small> もテーブルと一緒にコピーしたいのなら、できなくはありません。
+ O<small>ID</small> は、全てのデータベースで使われる中央領域から、全ての新しいロウに割り当てられます。<small>OID</small> を他の何かに変えたい、あるいは元の <small>OID</small> もテーブルと一緒にコピーしたいのなら、できなくはありません。
<PRE>
@@ -1210,7 +1213,7 @@ HREF="#4.16.1">4.16.1</A> の例で使ったテーブルを使うとすると、Perl では
<P> O<small>ID</small> は、4バイトの整数として保存されているので、40億を越えると溢れてしまうでしょう。誰もこれが起きたと報告してくる人はいませんでしたが、そうなる前にこの制限を取り除くことを計画しています。
-<P> T<small>ID</small> は特定の物理行をそのブロックとオフセット値で識別するために使われます。<small>TID</small> は行が修正されたり再ロードされると変わります。それらの <small>TID</small> は、物理行を指すためにインデックス記載で使われます。
+<P> T<small>ID</small> は特定の物理ロウをそのブロックとオフセット値で識別するために使われます。<small>TID</small> はロウが修正されたり再ロードされると変わります。それらの <small>TID</small> は、物理ロウを指すためにインデックス記載で使われます。
<P>
<H4><A NAME="4.17">4.17</A>) PostgreSQL で使われるいくつかの用語の意味は何ですか?
@@ -1220,8 +1223,8 @@ HREF="#4.16.1">4.16.1</A> の例で使ったテーブルを使うとすると、Perl では
<UL>
<LI> テーブル(table)、関係(relation)、クラス(class)
-<LI> 行(row)、レコード(record)、タップル(tuple)
-<LI> 列(column)、フィールド(field)、属性(attribute)
+<LI> ロウ(row)、レコード(record)、タップル(tuple)
+<LI> カラム(column)、フィールド(field)、属性(attribute)
<LI> 取得(retrieve)、選択(select)
<LI> 置換(replace)、更新(update)
<LI> 追加(append)、挿入(insert)
@@ -1263,13 +1266,13 @@ http://www.comptechnews.com/~reaster/dbdesign.html</a>
<P>ラージ・オブジェクト操作をするときは、前後に<tt>BEGIN WORK</tt>と<tt>COMMIT</tt>を付ける必要があります。すなわち、<tt>lo_open</tt> ... <tt>lo_close</tt>をはさみ込みます。
-<P>現在は、PostgreSQLのトランザクションのコミット時にラージ・オブジェクト・ハンドルを閉じることにより、<I>lo_open</I>コマンドが完了した直後に強制的にルールを実行します。このため、最初にハンドルに対して何かをしようとすると、<I>invalid large obj descriptor(ラージオブジェクトの記述子が不正)</I>となります。それで、もし、トランザクションを使うのを忘れると、(少なくともほとんどの時間)働いていたコードがエラーメッセージを出すのです。
+<P>現在は、PostgreSQLのトランザクションのコミット時にラージ・オブジェクト・ハンドルを閉じることにより、<I>lo_open</I>コマンドが完了した直後に強制的にルールを実行します。このため、最初にハンドルに対して何かをしようとすると、<I>invalid large obj descriptor(ラージ・オブジェクトの記述子が不正)</I>となります。それで、もし、トランザクションを使うのを忘れると、(少なくともほとんどの時間)働いていたコードがエラーメッセージを出すのです。
<P>もし、<small>ODBC</small>のようなクライアントインターフェースをお使いなら、<tt>auto-commit off</tt>を設定する必要があるかもしれません。
<P>
-<H4><A NAME="4.21">4.21</A>) 現在の時刻がデフォルトとなるような列はどのようにつくりますか?<BR></H4>
+<H4><A NAME="4.21">4.21</A>) 現在の時刻がデフォルトとなるようなカラムはどのようにつくりますか?<BR></H4>
<P><i>CURRENT_TIMESTAMP</i>を使います:
<PRE>
@@ -1281,7 +1284,7 @@ http://www.comptechnews.com/~reaster/dbdesign.html</a>
<H4><A NAME="4.22">4.22</A>) なぜ、<small>IN</small>を使う副問い合わせがとても遅いのですか?
</H4>
<P>
-現在、外部問い合わせの各行について副問い合わせの結果を順番にスキャンすることにより、副問い合わせを外部問い合わせに結合しています。当面は<small>IN</small>を<small>EXIST</small>Sで置き換えることです:
+現在、外部問い合わせの各ロウについて副問い合わせの結果を順番にスキャンすることにより、副問い合わせを外部問い合わせに結合しています。当面は<small>IN</small>を<small>EXIST</small>Sで置き換えることです:
<PRE>
<STRONG>SELECT *</STRONG>
FROM tab
@@ -1309,7 +1312,7 @@ PostgreSQL 7.1 以降では<small>SQL</small>標準構文を使う外部結合(アウタージョイン
<STRONG>SELECT *</STRONG>
FROM t1 LEFT OUTER JOIN t2 USING (col);</pre>
-これらの象徴的な問い合わせでは t1.col を t2.col と結合して、t1 の結合されなかった行(t2 と一致しなかった行)も返しています。<small>RIGHT</small> 結合は t2 の結合されなかった行を加えるでしょう。<small>FULL</small> 結合は、一致した行に t1 と t2 からは結合されなかった行を返すでしょう。<small>OUTER</small> という言葉はオプションで <small>LEFT</small>, <small>RIGHT</small>, または <small>FULL</small> などの結合を仮定されています。
+これらの象徴的な問い合わせでは t1.col を t2.col と結合して、t1 の結合されなかったロウ(t2 と一致しなかったロウ)も返しています。<small>RIGHT</small> 結合は t2 の結合されなかったロウを加えるでしょう。<small>FULL</small> 結合は、一致したロウに t1 と t2 からは結合されなかったロウを返すでしょう。<small>OUTER</small> という言葉はオプションで <small>LEFT</small>, <small>RIGHT</small>, または <small>FULL</small> などの結合を仮定されています。
以前のリリースでは外部結合(outer join)を<small>UNION</small> と <small>NOT IN</small> を使ってシミュレートできます。
たとえば、<i>tab1</i> と <i>tab2</i> を結合するときは、次の問い合わせで二つのテーブルを<i>外部</i>結合します。
@@ -1334,6 +1337,15 @@ PostgreSQL 7.1 以降では<small>SQL</small>標準構文を使う外部結合(アウタージョイン
もちろん、クライアントは同時に異なる複数のデータベースへ接続してそこにある情報をマージすることはできます。
<P>
+<H4><A NAME="4.25">4.25</A>) 関数で複数のロウまたはカラムを返すにはどうしますか?<BR></H4>
+
+ <P>もし、PL/pgSQL 関数で<i>refcursors</i>を使うと結果の組を返すことができます。<a
+href="http://developer.postgresql.org/docs/postgres/plpgsql-cursors.html">
+http://developer.postgresql.org/docs/postgres/plpgsql-cursors.html</a> の
+23.7.3.3 節をご覧下さい。</P>
+
+
+<P>
<HR>
<H2><CENTER>PostgreSQLの拡張についての質問</CENTER></H2>
<P>
@@ -1368,7 +1380,7 @@ PostgreSQL 7.1 以降では<small>SQL</small>標準構文を使う外部結合(アウタージョイン
[訳注:
日本語版の製作については以下の通りです。
- 最終更新日: 2002年04月05日
+ 最終更新日: 2002年05月08日
翻訳者: 桑村 潤 (<A HREF="mailto:juk@postgresql.jp">Jun Kuwamura &lt;juk@postgresql.jp&gt;</A>)
このFAQの和訳の作成にあたり協力をしてくださった方々(敬称は略させていただきます):