★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

付録M 用語集

これはPostgreSQLと一般的なリレーショナルデータベースシステムにおける用語とその意味のリストです。

ACID

Atomicity(原子性)Consistency(一貫性)Isolation(独立性)Durability(永続性)。 このデータベーストランザクションの性質の集合は、並列操作及び電源障害などによるエラーの際にも正当性を保証することを意図しています。

Aggregate function【集約関数】(ルーチン)

たとえば数え上げ、平均、加算によって複数の入力値をまとめて(集約して)、単一の値を出力する関数

詳細については9.21を参照してください。

Window function【ウィンドウ関数】(ルーチン)参照

Analytic function【分析関数】

Window function【ウィンドウ関数】(ルーチン)参照

Analyze【アナライズ】(操作)

問い合わせプランナ問い合わせをどのように実行するかの決定を支援するためにテーブルと他のリレーションから統計情報データを収集すること。

(この用語を、EXPLAINコマンドのANALYZEオプションと混同しないでください。)

詳細についてはANALYZEを参照してください。

Atomic【原子的】

datumとの関連においては、値がより小さな構成要素に分解できないこと。

データベーストランザクションとの関連においては、原子性を参照のこと。

Atomicity【原子性】

すべての操作が不可分なものとして完了するか、あるいは何もなかったことになるかのどちらかで終わるトランザクションの性質。 加えて、トランザクションの実行中にシステム障害が起きても、リカバリ後には中途半端な結果が見えるようなことはないこと。 これはACID特性の一部です。

Attribute【属性】

タプル内にある特定の名前とデータ型を持つ要素。

Autovacuum【自動バキューム】(プロセス)

バキューム及びアナライズ操作を定期的に実行する一連のバックグラウンドプロセス。 作業を調整し、(自動バキュームが無効になっていない限り)常に存在する補助プロセス自動バキュームランチャーと呼ばれ、タスクを実行するプロセスは自動バキュームワーカーと呼ばれます。

詳細については25.1.6を参照してください。

Auxiliary process

インスタンス内のプロセスで、インスタンスの特定のバックグラウンドタスクを担当します。 補助プロセスは次のもので構成されます。 自動バキュームランチャー(自動バキュームワーカーではありません)、バックグラウンドライタチェックポインターロガースタートアッププロセスWALアーカイバWALレシーバーWALセンダーではありません)、WALライタ

Backend【バックエンド】(プロセス)

クライアントセッションのために活動し、その要求を処理するインスタンスのプロセス。

(この用語を、類似の用語であるバックグラウンドワーカーバックグラウンドライタと混同しないでください。)

Background worker【バックグラウンドワーカー】(プロセス)

システムあるいはユーザが提供するコードを実行するインスタンス内のプロセス。 論理レプリケーションパラレルクエリといったPostgreSQLの機能の基盤を供給します。 更に、拡張によってカスタムバックエンドワーカープロセスを追加することができます。

詳細については第48章を参照してください。

Background writer【バックグラウンドライタ】(プロセス)

共有メモリからファイルシステムに、変更されたデータページを書き出す補助プロセス。 他のプロセスをブロックしてしまうより大きなI/Oピークを引き起こしてしまうことを避けて、高価なI/O活動を時系列で平均化するために、定期的に目覚めて短い期間だけ活動します。

詳細については20.4.5を参照してください。

Base Backup【ベースバックアップ】

database clusterのファイルをすべてバイナリコピーします。 pg_basebackupツールにより生成されます。 WALファイルと組み合わせてリカバリ、ログシッピング、またはストリーミングレプリケーションの開始点として使用できます。

Bloat【ブロート】

未使用(自由)空間、あるいは古くなった行バージョンのように、現在の行バージョンを含まないデータページ中の空間。

Cast【キャスト】

datumを現在のデータ型から別のデータ型に変換すること。

詳細についてはCREATE CASTを参照してください。

Catalog

標準SQLではこの用語を使用してPostgreSQLdatabaseと呼ばれる用語を示します。

(この用語を、system catalogと混同しないでください。)

詳細については23.1を参照してください。

Check constraint【チェック制約】

一つ以上の属性の取り得る値が制限されるリレーションに定義される制約の一形式。 チェック制約は同じ行内のすべての属性を参照できますが、同じあるいは別のリレーションの別の行は参照できません。

詳細については5.4を参照してください。

Checkpoint【チェックポイント】

一連のWALの中で、そのチェックポイント以前に更新された共有メモリのすべての情報がヒープとインデックスのデータファイルに反映されたことが保証されている点。 その点を記録するために、チェックポイントレコードがWALにフラッシュされます。

また、チェックポイントは、上で定義されているチェックポイントに到達するために必要なすべてのアクションを実行に移すことでもあります。 このプロセスはあらかじめ決められた条件、たとえば一定の時間が経過した、またはある量のレコードが書き出されたなどの条件が整うことで開始されます。 あるいは、CHECKPOINTコマンドでユーザが起動することもできます。

詳細については30.5を参照してください。

Checkpointer【チェックポインター】(プロセス)

チェックポイントの実行を担当する補助プロセス

Class【クラス】(旧用語)

Relation【リレーション】参照

Client【クライアント】(プロセス)

データベースと情報交換するために、遠隔の可能性があり、インスタンス接続することによってセッションを確立するすべてのプロセス。

Column【列】

テーブルまたはビューに含まれる属性

Commit【コミット】

他のトランザクションに対してトランザクションを可視化し、その永続性を保証し、データベース中のトランザクションの終了を実行すること。

詳細についてはCOMMITを参照してください。

Concurrency【並行性】

データベースの中で複数の独立した操作が同時に行われる概念。 PostgreSQLにおいては、並行性は複数バージョン並行性制御(multiversion concurrency control機構によって制御されます。

Connection【接続】

通常ネットワーク越しにクライアントプロセスとバックエンドプロセスの間で確立された通信回線。 セッションをサポートします。 この用語は時にセッションの同義語として使われることがあります。

詳細については20.3を参照してください。

Consistency【一貫性】

データベース中のデータが常に一貫性制約(integrity constraints)に従う性質。 トランザクションは、コミット前には一時的に制約の一部に違反する可能性もありますが、コミット時点までにそうした違反が解決されなければ、トランザクションは自動的にロールバックされます。 これはACID特性の一部です。

Constraint【制約】

テーブル内、またはドメインの属性内で許可されるデータの値に対する制限。

詳細については5.4を参照してください。

Cumulative Statistics System【累積統計システム】

有効な場合、インスタンスの活動に関する統計情報を累積するシステム。

詳細については28.2を参照してください。

Data area【データ領域】

Data directory【データディレクトリ】参照

Database【データベース】

ローカルなSQLオブジェクトの名前付き集合。

詳細については23.1を参照してください。

Database cluster【データベースクラスタ】

データベース、グローバルなSQLオブジェクト、そしてそれらの静的あるいは動的なメタデータの集合。 時にはクラスタ(cluster)として参照されます。

PostgreSQLでは、インスタンスを指すためにclusterという用語も使用されることがあります。 (この用語を、SQLコマンドのCLUSTERと混同しないでください。)

Database server【データベースサーバ】

Instance【インスタンス】参照

Data directory【データディレクトリ】

データベースクラスタに関連付けられるすべてのデータファイルとサブディレクトリ(テーブルスペースと、オプションでWALを除く)を含むサーバのファイルシステム上のベースディレクトリ。 環境変数PGDATAは、通常データディレクトリを参照するために使用されます。

クラスタのストレージ空間は、データディレクトリに加えてすべての追加のテーブルスペースを含みます。

詳細については73.1を参照してください。

Data page【データページ】

リレーションデータを格納するための基本的なデータ構造。 すべてのページは同じサイズです。 データページはそれぞれ特定のファイルに置かれ、典型的にはディスク上に格納され、共有バッファに読み込むことができ、その上で変更を加えることが可能で、その結果変更済み(dirty)となります。 それらはディスクに書き出されたときにきれい(clean)になります。 最初はメモリ上にのみ存在したページも書き出されるまでは変更済みです。

Datum

SQLデータ型の1つの値の内部表現。

Delete

指定したテーブルまたはリレーションからを削除するSQLコマンド。

詳細についてはDELETEを参照してください。

Domain【ドメイン】

他の元となるデータ型に基づくユーザー定義のデータ型です。 元となる型と同じように動作しますが、使用可能な値のセットが制限される可能性があります。

詳細については8.18を参照してください。

Durability【永続性】

トランザクションが一旦コミットされると、その変更がシステム故障あるいはクラッシュ後も維持されることの保証。 これはACID特性の一部です。

Epoch【エポック】

Transaction ID【トランザクションID】参照

Extension【拡張】

他の機能を入れるためにインスタンスにインストールするソフトウェアの追加パッケージ。

詳細については38.17を参照してください。

File segment【ファイルセグメント】

あるリレーションのデータを格納するための物理ファイル。 ファイルセグメントのサイズは設定値(通常1ギガバイト)に制限されます。 したがってリレーションサイズがそれを超えると、複数のセグメントに分割されます。

詳細については73.1を参照してください。

(この用語を、類似の用語であるWAL segmentと混同しないでください。)

Foreign data wrapper【外部データラッパー】

あたかもローカルテーブルであるかのように見せるための、ローカルデータベースには含まれないデータの表現手法。 外部データラッパーを使うと、外部サーバ外部テーブルを定義することができます。

詳細についてはCREATE FOREIGN DATA WRAPPERを参照してください。

Foreign key【外部キー】

テーブルの一つあるいは複数のに定義される制約の一形式。 その制約により、別な(稀に同じ)テーブルの0あるいは1個のを識別するためのの値が存在することが必要となる。

Foreign server【外部サーバ】

同じ外部データラッパーを使い、他の設定値を共通に持つ外部テーブルの名前付きの集合。

詳細についてはCREATE SERVERを参照してください。

Foreign table【外部テーブル】(リレーション)

通常のテーブルと同じようにを持つかのように見えるが、外部テーブルの定義に従った構造で結果集合を返す外部データラッパーを通じてデータ要求を転送するリレーション

詳細についてはCREATE FOREIGN TABLEを参照してください。

Fork【フォーク】

リレーションが格納される個々のセグメントファイルの集合。 主フォークには、実際のデータが格納されます。 また、メタデータのための2つの二次フォークが存在します。 空き領域マップ可視性マップです。 unloggedリレーションには初期化フォーク(init fork)もあります。

Free space map【空き領域マップ】(フォーク)

テーブルのメインフォークの個々のデータページ関するメタデータを保持する格納構造。 個々のページに対応する空き領域マップのエントリには今後追加されるタプルが使用できる空き領域の量が格納され、与えられた大きさの新しいタプルで使用できる空き領域の量を効率的に探索できる構造になっています。

詳細については73.3を参照してください。

Function【関数】(ルーチン)

ゼロ以上の引数を受け取り、ゼロ以上の出力値を返すルーチンの一形式で、一つのトランザクション内で実行されるように制限されています。 関数はたとえばSELECTクエリの一部として起動されます。 ある関数は集合を返すことができます。 そうした関数は集合を返す関数と呼ばれます。

関数はまた、トリガを起動するのにも用いられます。

詳細についてはCREATE FUNCTIONを参照してください。

Grant

ユーザロールデータベース内の特定のオブジェクトにアクセスすることを許可するために使われるSQLコマンド。

詳細についてはGRANTを参照してください。

Heap【ヒープ】

リレーションの属性(つまりデータ)の値を含む。 ヒープは、リレーションのメインフォークの一つ以上のファイルセグメントとして実現されています。

Host【ホスト】

ネットワークを通じて他のコンピュータと通信するコンピュータ。 時にはサーバの同義語として用いられます。 また、クライアントプロセスを実行するコンピュータを指す用語としても用いられます。

Index【インデックス】(リレーション)

テーブルあるいはマテリアライズドビューから派生したデータを含むリレーション。 その内部構造は、元のデータの高速な取り出しとアクセスをサポートします。

詳細についてはCREATE INDEXを参照してください。

Insert

テーブルに新しいデータを追加するために使用されるSQLコマンド。

詳細についてはINSERTを参照してください。

Instance【インスタンス】

共通する共有メモリを使って通信する一群のバックエンド補助プロセス。 一つのpostmasterプロセスがインスタンスを管理します。 一つのインスタンスは、すべてのデータベースを含む、正確に一つのデータベースクラスタを管理します。 TCPポートが重ならない限り、同じサーバ内に多くのインスタンスを走らせることができます。

インスタンスは、ファイルと共有メモリからの読み出しおよび書き込みアクセス、ACID特性の保障、クライアントプロセスへの接続、権限の検証、クラッシュからの回復、レプリケーションその他のDBMSのすべての重要な機能を管理します。

Isolation【独立性】

コミット前にはトランザクションの効果が同時実行するトランザクションから見えない性質。 これはACID特性の一部です。

詳細については13.2を参照してください。

Join【結合】

操作の一つであり、複数のリレーションのデータを組み合わせる問い合わせで用いられるSQLキーワード。

Key【キー】

リレーションの一つ以上の属性に含まれる値を使ってテーブルあるいは他のリレーションを識別するための手段。

Lock【ロック】

プロセスがあるリソースへの同時アクセスを制限、あるいは阻止できるようにするための機構。

Log file【ログファイル】

ログファイルには事象に関する人間可読なテキスト行が含まれます。 例として、ログイン失敗、長期に渡って実行中の問い合わせなどがあります。

詳細については25.3を参照してください。

Logged【ログされる】

WALに変更が送信されると、テーブルログされると見なされます。 デフォルトでは、すべての通常のテーブルはログされます。 生成時、あるいはALTER TABLEコマンドでunloggedとテーブルを指定することができます。

Logger【ロガー】(プロセス)

有効な場合、そのプロセスは現在のログファイルにデータベースのイベントに関する情報を書き込む補助プロセス。 ある時刻あるいは容量による条件に到達すると、新しいログファイルが作られます。 sysloggerとも呼ばれます。

詳細については20.8を参照してください。

Log record【ログレコード】

WALレコードの旧用語。

Master【マスタ】(サーバ)

Primary【プライマリ】(サーバ)参照

Materialized【マテリアライズド】

ある情報をその場で計算するのではなく、後で使うために前もって計算し、格納する属性。

この用語は、ビュー問い合わせから派生するデータが、そのデータのソースとは別に格納されることを意味する目的で、マテリアライズドビューで用いられます。

またこの用語は、与えられたステップを実行した結果のデータをメモリに格納し(ディスクに吐き出す可能性もあります)、別のステップで複数回読み出されるようにすることを意味する複数ステップの問い合わせを指すためにも使われます。

Materialized view【マテリアライズドビュー】(リレーション)

SELECT文により定義されたリレーションビューと同様)ですが、テーブルと同じ方法でデータが格納されます。 INSERTUPDATEDELETEの操作では変更できません。

詳細についてはCREATE MATERIALIZED VIEWを参照してください。

Multi-version concurrency control【多版型同時実行制御】(MVCC)

複数のトランザクションが、あるプロセスが他のプロセスを停止させることなく同じ行を読み書き可能にするように設計された機構。 PostgreSQLでは、タプルが変更されたときに、その複製()を作ることによりMVCCが実装されています。 古い版を見ることができるプロセスが終了した後、これらの古い版は削除する必要があります。

Null

関係データベース理論の中心的な原理の一つである、存在しないという概念。 明示的な値が存在しないことを表現します。

Optimizer【オプティマイザ】

Query planner【問い合わせプランナ】参照

Parallel query【パラレルクエリ】

複数CPUを持つサーバ上の並行プロセスの利点を活かすために、問い合わせの実行の各部分を扱うことが可能である機能。

Partition【パーティション】

大きな集合の中の互いに素な(重ならない)部分集合の一つ。

パーティション化テーブルとの関連では、親(parent)であるパーティション化テーブルの一部のデータを持つテーブルを意味します。 パーティション自身もテーブルなので、直接問い合わせ対象になります。 また、パーティションもパーティション化テーブルになることができるので、階層を作ることができます。

問い合わせの中のウィンドウ関数との関連では、パーティションは問い合わせの結果集合中のどの隣接するであるかをその関数によって識別するユーザ定義の基準です。

Partitioned table【パーティション化テーブル】(リレーション)

意味論的にはテーブルと同じですが、格納場所が複数のパーティションに渡って分散しているリレーション

Postmaster(プロセス)

インスタンスの最初期のプロセス。 他の補助プロセスを起動して管理し、要求に応じてバックエンドプロセスを生成します。

詳細については19.3を参照してください。

Primary key【主キー】

主キーのどの属性null値を持たないことが保証されているテーブルあるいは他のリレーション上に定義される一意性制約の特殊なケース。 その名前から連想されるように、一つのテーブルにはひとつだけ主キーが存在することができます。 しかし、NULLにならない属性を持つ複数の一意性制約を持つことも可能です。

Primary【プライマリ】(サーバ)

2つ以上のデータベースレプリケーションを通じて連携するときに、情報の信頼できるソースであると見なされるサーバプライマリと呼ばれます。 マスタという用語でも知られています。

Procedure【プロシージャ】(ルーチン)

ルーチンの一種。 違いは値を返さないことと、COMMITROLLBACKといったトランザクション文を発行することが許されていることです。 CALLコマンドを通じて呼び出されます。

詳細についてはCREATE PROCEDUREを参照してください。

Query【問い合わせ】

通常結果を返す、あるいはデータベース上のデータを変更するためにクライアントからバックエンドに送信される要求。

Query planner【問い合わせプランナ】

問い合わせを実行する最も効率の良い方法を決定する(計画する)ために使われるPostgreSQLの一部分。 問い合わせオプティマイザオプティマイザ、あるいは単にプランナとしても知られています。

Record

Tuple【タプル】参照

Recycling

WAL file【WALファイル】参照

Referential integrity【参照整合性】

外部キーによってあるリレーションのデータを制限し、他のリレーションに対応するデータが必ず存在しなければならないようにする手段。

Relation【リレーション】

名前と特定の順序で定義された属性のリストを持つ、データベース内の全てのオブジェクトの総称。 テーブルシーケンスビュー外部テーブルマテリアライズドビュー、複合型、インデックスはすべてリレーションです。

より一般的にはリレーションはタプルの集合です。 例えば問い合わせの結果もリレーションです。

PostgreSQLでは、クラスリレーションの旧用語の同義語です。

Replica【レプリカ】(サーバ)

プライマリデータベースと対になり、プライマリデータベースのデータのある部分、あるいはすべてのコピーを維持するデータベース。 これを行う大きな理由は、データへのアクセスを効率化し、プライマリが動作しなくなったときにデータの可用性を維持するためです。

Replication【レプリケーション】

あるサーバのデータの複製をレプリカに作る過程。 ここでは、あるサーバのファイルの変更をそのまま複製する物理レプリケーションと、あらかじめ定義したデータの部分集合に対する変更を高レベルの表現を使って転送する論理レプリケーションの2つの形式が可能です。

Result set【結果集合】

SQLコマンドの完了時にバックエンドプロセスからクライアントに送信されるリレーションSQLコマンドは通常SELECTですが、RETURNING節が指定されればINSERTUPDATEDELETEも可能です。

結果集合がリレーションであるということは、問い合わせが他の問い合わせの定義に使用でき、副問合せとなるということです。

Revoke

ロールの名前付きリストに対してデータベースオブジェクトの名前付き集合に対するアクセスを防ぐコマンド。

詳細についてはREVOKEを参照してください。

Role【ロール】

インスタンスに対するアクセス権限の集まり。 ロールはそれ自身が他のロールへ与えることのできる権限です。 これは利便性、あるいは複数のユーザが同じ権限を必要とする際に漏れがないようにするためにしばしば行われます。

詳細についてはCREATE ROLEを参照してください。

Rollback【ロールバック】

トランザクションの開始以来実行されたすべての操作を取り消すためのコマンド。

詳細についてはROLLBACKを参照してください。

Routine【ルーチン】

データベースシステムに格納され、実行するために起動可能な予め定義された操作の集合。 ルーチンは多様なプログラミング言語で記述できます。 ルーチンは、関数(集合を返す関数とトリガ関数)を含みます)、集約関数プロシージャのいずれかです。

多くのルーチンはPostgreSQL自身にすでに含まれていますが、ユーザ定義のルーチンを追加することもできます。

Row【行】

Tuple【タプル】参照

Savepoint【セーブポイント】

トランザクション中の一連のステップ中の特別な印。 セーブポイント時点以降のデータ変更は、この時点まで遡って取り消すことができます。

詳細についてはSAVEPOINTを参照してください。

Schema【スキーマ】

スキーマは、同じデータベースに存在するSQLオブジェクトのための名前空間です。 各SQLオブジェクトは正確に一つのスキーマに存在する必要があります。

すべてのシステム定義のSQLオブジェクトはpg_catalogスキーマに存在します。

より一般的には、スキーマという用語は、与えられたデータベースあるいはその部分集合中のすべてのデータの記述(テーブル定義、制約、コメントなど)の意味で用いられます。

詳細については5.9を参照してください。

Segment【セグメント】

File segment【ファイルセグメント】参照

Select

データベースに対してデータを要求するためのSQLコマンド。 通常SELECTコマンドはデータベースを変更しないものと期待されますが、問い合わせ中で起動される関数がデータを変更する副作用を持つことはあり得ます。

詳細についてはSELECTを参照してください。

Sequence【シーケンス】(リレーション)

値を生成するために使用されるリレーションの一種。 通常、生成される値は非反復な連番です。 これらは通常、代理主キーの値を生成するために使用されます。

Server【サーバ】

PostgreSQLインスタンスを実行するコンピュータ。 サーバという用語は、実際のハードウェア、コンテナ、あるいは仮想マシンを意味します。

この用語は時にはインスタンスあるいはホストに関連して用いられます。

Session【セッション】

接続を通じて通信し、クライアントとバックエンドが関わり合いを持つことが可能な状態。

Shared memory【共有メモリ】

一つのインスタンスに共通のプロセスによって使用されるRAMdatabaseファイルの一部をコピーし、WALレコードのために一時的な領域を提供し、追加の共通情報を格納します。 共有メモリは完全なインスタンスに所属し、単一のデータベースには所属しないことに注意してください。

共有メモリの最大の部分は共有バッファとして知られ、ページに分割されてデータファイルのコピーを保持するために使用されます。 ページが変更されると、ファイルシステムに書き出されるまではダーティページ(dirty page)と呼ばれます。

詳細については20.4.1を参照してください。

SQL object【SQLオブジェクト】

CREATEコマンドで作られるあらゆるオブジェクト。 ほとんどのオブジェクトは一つのデータベースに限定され、ローカルオブジェクトとして一般的に知られています。

ほとんどのローカルオブジェクトは、リレーション (すべての種類)、ルーチン(すべての種類)データ型などのように、データベース中の特定のスキーマに存在します。 スキーマの同じ種類の中のそうしたオブジェクト同士は、名前がユニークであることが強制されます。

スキーマに存在しないローカルオブジェクトも存在します。 例としては、拡張データ型キャスト外部データラッパーがあります。 データベースの同じ種類の中のそうしたオブジェクト同士は、名前がユニークであることが強制されます。

他のオブジェクト型、たとえばロールテーブル空間、レプリケーション起点、論理レプリケーションのサブスクライブ、データベース自体は、完全に特定のデータベースの外に存在するので、ローカルSQLオブジェクトではありません。 それらはグローバルオブジェクトと呼ばれます。 データベースクラスタ全体の同じ種類の中のそうしたオブジェクト同士は、名前がユニークであることが強制されます。

詳細については23.1を参照してください。

SQL standard【標準SQL】

SQL言語を義する一連の文書。

Standby【スタンバイ】(サーバ)

Replica【レプリカ】(サーバ)参照

Startup process【スタートアッププロセス】

クラッシュリカバリ中および物理レプリカでWALを再生する補助プロセス

(歴史的経緯のある名前です。スタートアッププロセスは、レプリケーションが実装される前に名前が付けられました。 名前は、クラッシュ後のサーバ起動に関連するタスクを示しています。)

System catalog【システムカタログ】

インスタンスのすべてのSQLオブジェクトの構造を記述するテーブルの集まり。 システムカタログはpg_catalogスキーマに存在します。 これらのテーブルは内部表現のデータを格納しているので、典型的にはユーザが調べる目的には適しません。 pg_catalogスキーマにもユーザによりわかりやすい多くのビューが提供されており、一部の情報にはより便利なアクセスを提供しています。 一方SQL標準によって管理されているものと同じあるいはさらに追加の情報を提供するinformation_schemaスキーマ(第37章参照)に追加のテーブルとビューがあります。

詳細については5.9を参照してください。

Table【テーブル】

共通のデータ構造を持つタプルの集合(同じ数の属性が同じ順序で、位置ごとに同じ名前と型を持ちます)。 テーブルは、PostgreSQLにおけるリレーションの最も一般的な形式です。

詳細についてはCREATE TABLEを参照してください。

Tablespace【テーブルスペース】

サーバファイルシステムの名前付き場所。 すべてのSQLオブジェクトは、システムカタログ内の定義を超えた格納領域が要求され、単一のテーブルスペースに属している必要があります。 最初にデータベースクラスは、単一で使用可能なテーブルスペースが含まれています。 それはpg_defaultと呼ばれ、全てのSQLオブジェクトでデフォルトとして使用されます。

詳細については23.6を参照してください。

Temporary table【一時テーブル】

セッションまたはトランザクションのどちらか(作成時に指定します)の存続期間中にのみ存在するテーブル。 そのデータは他のセッションからは見られず、ログされることはありません。 一時テーブルはしばしば複数ステップ操作の中間データを格納するために使用されます。

詳細についてはCREATE TABLEを参照してください。

TOAST

テーブル行の大きな属性を分割して副テーブルに格納する機構。 TOASTテーブルと呼ばれます。 大きな属性を持つ各リレーションには、独自のTOASTテーブルがあります。

詳細については73.2を参照してください。

Transaction【トランザクション】

単一の原子性コマンドとして動作する必要があるコマンドの組み合わせ。 それらは単一の組としてすべて成功かすべて失敗し、トランザクションが完了するまで(分離レベルによってはその後でさえ)、他のセッションからはその効果が見えません。

詳細については13.2を参照してください。

Transaction ID【トランザクションID】

個々のトランザクションが最初にデータベースに変更を加える際に、ユニークな数値である順序数としてアサインされる識別子です。 しばしばxidと略されます。 ディスク上ではxidは32ビット幅しかないので、約4億の書き込みトランザクションIDしか生成できません。 それよりも長くシステムが実行できるようにするために、これもまた32ビット幅であるエポックが用いられます。 カウンタがxidの最大値に到達すると、xidは3(これよりも小さな値は予約されています)から再開し、エポックの値は1増えます。 ときにはエポックとxidの値を組み合わせて、単一の64ビット値として扱うこともあります。

詳細については8.19を参照してください。

Transactions per second (TPS)

1秒あたりに実行されたトランザクションの平均数。 測定された実行中にアクティブな全てのセッションで合計されます。 これはインスタンスのパフォーマンス特性の指標として使用されます。

Trigger【トリガ】

特定の操作(INSERTUPDATEDELETETRUNCATE)がリレーションに適用されるたびに実行することを定義できる関数。 トリガは、トリガを起動した文と同じトランザクション内で実行されます。関数が失敗すると、起動した文も失敗します。

詳細についてはCREATE TRIGGERを参照してください。

Tuple【タプル】

属性を一定の順序で集めたもの。 この順序はタプルが含まれるテーブル(または他のリレーション)によって定義されます。その場合タプルは、しばしばと呼ばれます。 また結果セットの構造によって定義される場合もあります。その場合、タプルはレコードと呼ばれることがあります。

Unique constraint【一意性制約】

リレーションに定義される制約の一形式で、一つ以上の複数の列の組み合わせで許可される値を制限して、各値または組み合わせの値がリレーションの中で一度しか現れないように制限します。 — つまり、リレーション内の他の行にそれらと等しい値が含まれないようにします。

NULL値は互いに等しいとは見なされないため、一意性制約の違反にはならず、NULL値は複数の行に存在することが許可されます。

Unlogged【ログを取らない】

特定の性質のリレーションで、それらに対する変更がWALに反映されません。 これらのリレーションのレプリケーションとクラッシュリカバリは無効になります。

ログを取らないテーブルの主な用途は、プロセス間で共有する必要がある一時的な作業データを格納することです。

一時テーブルは常にログを取りません。

Update

指定されたテーブルに既にあるを修正するために使われるSQLコマンド。 行を作成したり削除したりはできません。

詳細についてはUPDATEを参照してください。

User【ユーザ】

LOGIN権限を持つロール

User mapping【ユーザマッピング】

ローカルデータベース内のログイン認証情報をリモートデータシステム内の外部データラッパーによって定義された認証情報に変換すること。

詳細についてはCREATE USER MAPPINGを参照してください。

Vacuum【バキューム】

テーブルまたはマテリアライズドビューから古いものとなったタプルバージョンを削除し、またPostgreSQLMVCCの実装に必要なその他の密接に関連する処理をおこなうプロセス。 これはVACUUMコマンドを使用して開始できますが、自動バキュームプロセスを介して自動的に処理することもできます。

詳細については25.1を参照してください。

View【ビュー】

SELECT文によって定義されたリレーションですが、それ自体は格納されません。 問い合わせがビューを参照すると、ビューの名前ではなく副問合せとして入力したかのように、ビューの定義が問い合わせに代入されます。

詳細についてはCREATE VIEWを参照してください。

Visibility map【可視性マップ】(フォーク)

テーブルのメインフォークの各データページに関するメタデータ保持する格納構造です。 各ページの可視性マップのエントリに2ビットが格納されます。 1番目のビット(all-visible)は、ページ内のすべてのタプルがすべてのトランザクションに対して可視であることを示します。 2番目のビット(all-frozen)は、ページ内のすべてのタプルが凍結とマークされていることを示します。

WAL

Write-ahead log【ログ先行書き込み】参照

WAL archiver【WALアーカイバ】(プロセス)

有効な場合、バックアップの作成またはレプリカを最新の状態に保つために、WALファイルのコピーを保持する補助プロセス

詳細については26.3を参照してください。

WAL file【WALファイル】

WALセグメントWALセグメントファイルとしても知られています。 WALの格納領域を提供する連番のファイル。 ファイルはすべて、事前に定義された同じサイズであり、連続した順序で書き込まれます。複数のセッションで同時に発生する変更が分散しています。 システムがクラッシュした場合、ファイルは順番に読み込まれ、各変更が再生されてクラッシュする前の状態にシステムが復元されます。

各WALファイルはチェックポイントがすべての変更を対応するデータファイルをすべて書き込んだ後に解放できます。 ファイルを解放するには、削除するか、名前を変えて将来使用できるようにします。これはrecycling(再利用)と呼ばれます。

詳細については30.6を参照してください。

WAL record【WALレコード】

個々のデータの変更を低レベルで記述したもの。 システム障害によって変更が失われた場合に、データの変更を再実行(再生)するための十分な情報が含まれています。 WALレコードは表示できないバイナリフォーマットを使用します。

詳細については30.6を参照してください。

WAL receiver (process)

プライマリサーバからWALを受信してスタートアッププロセスが再生するために、レプリカ上で実行される補助プロセス

詳細については27.2を参照してください。

WAL segment【WALセグメント】

WAL file【WALファイル】参照

WAL sender (process)

ネットワーク上でWALをストリーミングする特別なバックエンドプロセス。 受信側はレプリカWALレシーバpg_receivewal、または複製プロトコルを話す他のクライアントプログラムです。

WAL writer【WALライタ】(プロセス)

WALレコード共有メモリからWALファイルに書き出すプロセス。

詳細については20.5を参照してください。

Window function【ウィンドウ関数】(ルーチン)

問い合わせ内で使用される関数の一種で、問い合わせの結果セットパーティションに適用されます。 この関数の結果は、同じパーティションまたはフレームのの値を元にしている。

すべての集約関数はウィンドウ関数として使用できますが、ウィンドウ関数は例えば、パーティション内の各行にランク付けすることもできます。 分析関数とも呼ばれます。

詳細については3.5を参照してください。

Write-ahead log【ログ先行書き込み】

ユーザおよびシステム起因の操作によるデータベースクラスタ内の変更を追跡するジャーナル。 それは、多くの個別のWALレコードが連続してWALファイルに書き込まれます。