これはPostgreSQLと一般的なリレーショナルデータベースシステムにおける用語とその意味のリストです。
Atomicity(原子性)、Consistency(一貫性)、Isolation(独立性)、Durability(永続性)。 このデータベーストランザクションの性質の集合は、並列操作及び電源障害などによるエラーの際にも正当性を保証することを意図しています。
たとえば数え上げ、平均、加算によって複数の入力値をまとめて(集約して)、単一の値を出力する関数。
詳細については9.21を参照してください。
問い合わせプランナが問い合わせをどのように実行するかの決定を支援するためにテーブルと他のリレーションから統計情報データを収集すること。
(この用語を、EXPLAINコマンドのANALYZE
オプションと混同しないでください。)
詳細についてはANALYZEを参照してください。
datumとの関連においては、値がより小さな構成要素に分解できないこと。
データベーストランザクションとの関連においては、原子性を参照のこと。
すべての操作が不可分なものとして完了するか、あるいは何もなかったことになるかのどちらかで終わるトランザクションの性質。 加えて、トランザクションの実行中にシステム障害が起きても、リカバリ後には中途半端な結果が見えるようなことはないこと。 これはACID特性の一部です。
タプル内にある特定の名前とデータ型を持つ要素。
バキューム及びアナライズ操作を定期的に実行する一連のバックグラウンドプロセス。 作業を調整し、(自動バキュームが無効になっていない限り)常に存在する補助プロセスは自動バキュームランチャーと呼ばれ、タスクを実行するプロセスは自動バキュームワーカーと呼ばれます。
詳細については25.1.6を参照してください。
インスタンス内のプロセスで、インスタンスの特定のバックグラウンドタスクを担当します。 補助プロセスは次のもので構成されます。 自動バキュームランチャー(自動バキュームワーカーではありません)、バックグラウンドライタ、チェックポインター、ロガー、スタートアッププロセス、WALアーカイバ、WALレシーバー(WALセンダーではありません)、WALライタ。
クライアントセッションのために活動し、その要求を処理するインスタンスのプロセス。
(この用語を、類似の用語であるバックグラウンドワーカーやバックグラウンドライタと混同しないでください。)
システムあるいはユーザが提供するコードを実行するインスタンス内のプロセス。 論理レプリケーション、パラレルクエリといったPostgreSQLの機能の基盤を供給します。 更に、拡張によってカスタムバックエンドワーカープロセスを追加することができます。
詳細については第48章を参照してください。
共有メモリからファイルシステムに、変更されたデータページを書き出す補助プロセス。 他のプロセスをブロックしてしまうより大きなI/Oピークを引き起こしてしまうことを避けて、高価なI/O活動を時系列で平均化するために、定期的に目覚めて短い期間だけ活動します。
詳細については20.4.5を参照してください。
database clusterのファイルをすべてバイナリコピーします。 pg_basebackupツールにより生成されます。 WALファイルと組み合わせてリカバリ、ログシッピング、またはストリーミングレプリケーションの開始点として使用できます。
未使用(自由)空間、あるいは古くなった行バージョンのように、現在の行バージョンを含まないデータページ中の空間。
datumを現在のデータ型から別のデータ型に変換すること。
詳細についてはCREATE CASTを参照してください。
標準SQLではこの用語を使用してPostgreSQLでdatabaseと呼ばれる用語を示します。
(この用語を、system catalogと混同しないでください。)
詳細については23.1を参照してください。
一つ以上の属性の取り得る値が制限されるリレーションに定義される制約の一形式。 チェック制約は同じ行内のすべての属性を参照できますが、同じあるいは別のリレーションの別の行は参照できません。
詳細については5.4を参照してください。
一連のWALの中で、そのチェックポイント以前に更新された共有メモリのすべての情報がヒープとインデックスのデータファイルに反映されたことが保証されている点。 その点を記録するために、チェックポイントレコードがWALにフラッシュされます。
また、チェックポイントは、上で定義されているチェックポイントに到達するために必要なすべてのアクションを実行に移すことでもあります。
このプロセスはあらかじめ決められた条件、たとえば一定の時間が経過した、またはある量のレコードが書き出されたなどの条件が整うことで開始されます。
あるいは、CHECKPOINT
コマンドでユーザが起動することもできます。
詳細については30.5を参照してください。
データベースと情報交換するために、遠隔の可能性があり、インスタンスに接続することによってセッションを確立するすべてのプロセス。
他のトランザクションに対してトランザクションを可視化し、その永続性を保証し、データベース中のトランザクションの終了を実行すること。
詳細についてはCOMMITを参照してください。
データベースの中で複数の独立した操作が同時に行われる概念。 PostgreSQLにおいては、並行性は複数バージョン並行性制御(multiversion concurrency control機構によって制御されます。
通常ネットワーク越しにクライアントプロセスとバックエンドプロセスの間で確立された通信回線。 セッションをサポートします。 この用語は時にセッションの同義語として使われることがあります。
詳細については20.3を参照してください。
データベース中のデータが常に一貫性制約(integrity constraints)に従う性質。 トランザクションは、コミット前には一時的に制約の一部に違反する可能性もありますが、コミット時点までにそうした違反が解決されなければ、トランザクションは自動的にロールバックされます。 これはACID特性の一部です。
テーブル内、またはドメインの属性内で許可されるデータの値に対する制限。
詳細については5.4を参照してください。
有効な場合、インスタンスの活動に関する統計情報を累積するシステム。
詳細については28.2を参照してください。
ローカルなSQLオブジェクトの名前付き集合。
詳細については23.1を参照してください。
データベース、グローバルなSQLオブジェクト、そしてそれらの静的あるいは動的なメタデータの集合。 時にはクラスタ(cluster)として参照されます。
PostgreSQLでは、インスタンスを指すためにclusterという用語も使用されることがあります。
(この用語を、SQLコマンドのCLUSTER
と混同しないでください。)
データベースクラスタに関連付けられるすべてのデータファイルとサブディレクトリ(テーブルスペースと、オプションでWALを除く)を含むサーバのファイルシステム上のベースディレクトリ。
環境変数PGDATA
は、通常データディレクトリを参照するために使用されます。
クラスタのストレージ空間は、データディレクトリに加えてすべての追加のテーブルスペースを含みます。
詳細については73.1を参照してください。
リレーションデータを格納するための基本的なデータ構造。 すべてのページは同じサイズです。 データページはそれぞれ特定のファイルに置かれ、典型的にはディスク上に格納され、共有バッファに読み込むことができ、その上で変更を加えることが可能で、その結果変更済み(dirty)となります。 それらはディスクに書き出されたときにきれい(clean)になります。 最初はメモリ上にのみ存在したページも書き出されるまでは変更済みです。
SQLデータ型の1つの値の内部表現。
指定したテーブルまたはリレーションから行を削除するSQLコマンド。
詳細についてはDELETEを参照してください。
他の元となるデータ型に基づくユーザー定義のデータ型です。 元となる型と同じように動作しますが、使用可能な値のセットが制限される可能性があります。
詳細については8.18を参照してください。
トランザクションが一旦コミットされると、その変更がシステム故障あるいはクラッシュ後も維持されることの保証。 これはACID特性の一部です。
他の機能を入れるためにインスタンスにインストールするソフトウェアの追加パッケージ。
詳細については38.17を参照してください。
あるリレーションのデータを格納するための物理ファイル。 ファイルセグメントのサイズは設定値(通常1ギガバイト)に制限されます。 したがってリレーションサイズがそれを超えると、複数のセグメントに分割されます。
詳細については73.1を参照してください。
(この用語を、類似の用語であるWAL segmentと混同しないでください。)
あたかもローカルテーブルであるかのように見せるための、ローカルデータベースには含まれないデータの表現手法。 外部データラッパーを使うと、外部サーバと外部テーブルを定義することができます。
詳細についてはCREATE FOREIGN DATA WRAPPERを参照してください。
テーブルの一つあるいは複数の列に定義される制約の一形式。 その制約により、別な(稀に同じ)テーブルの0あるいは1個の行を識別するための列の値が存在することが必要となる。
同じ外部データラッパーを使い、他の設定値を共通に持つ外部テーブルの名前付きの集合。
詳細についてはCREATE SERVERを参照してください。
通常のテーブルと同じように行と列を持つかのように見えるが、外部テーブルの定義に従った構造で結果集合を返す外部データラッパーを通じてデータ要求を転送するリレーション。
詳細についてはCREATE FOREIGN TABLEを参照してください。
リレーションが格納される個々のセグメントファイルの集合。 主フォークには、実際のデータが格納されます。 また、メタデータのための2つの二次フォークが存在します。 空き領域マップと可視性マップです。 unloggedリレーションには初期化フォーク(init fork)もあります。
テーブルのメインフォークの個々のデータページ関するメタデータを保持する格納構造。 個々のページに対応する空き領域マップのエントリには今後追加されるタプルが使用できる空き領域の量が格納され、与えられた大きさの新しいタプルで使用できる空き領域の量を効率的に探索できる構造になっています。
詳細については73.3を参照してください。
ゼロ以上の引数を受け取り、ゼロ以上の出力値を返すルーチンの一形式で、一つのトランザクション内で実行されるように制限されています。
関数はたとえばSELECT
クエリの一部として起動されます。
ある関数は集合を返すことができます。
そうした関数は集合を返す関数と呼ばれます。
関数はまた、トリガを起動するのにも用いられます。
詳細についてはCREATE FUNCTIONを参照してください。
ユーザやロールがデータベース内の特定のオブジェクトにアクセスすることを許可するために使われるSQLコマンド。
詳細についてはGRANTを参照してください。
リレーションの行の属性(つまりデータ)の値を含む。 ヒープは、リレーションのメインフォークの一つ以上のファイルセグメントとして実現されています。
ネットワークを通じて他のコンピュータと通信するコンピュータ。 時にはサーバの同義語として用いられます。 また、クライアントプロセスを実行するコンピュータを指す用語としても用いられます。
テーブルあるいはマテリアライズドビューから派生したデータを含むリレーション。 その内部構造は、元のデータの高速な取り出しとアクセスをサポートします。
詳細についてはCREATE INDEXを参照してください。
テーブルに新しいデータを追加するために使用されるSQLコマンド。
詳細についてはINSERTを参照してください。
共通する共有メモリを使って通信する一群のバックエンドと補助プロセス。 一つのpostmasterプロセスがインスタンスを管理します。 一つのインスタンスは、すべてのデータベースを含む、正確に一つのデータベースクラスタを管理します。 TCPポートが重ならない限り、同じサーバ内に多くのインスタンスを走らせることができます。
インスタンスは、ファイルと共有メモリからの読み出しおよび書き込みアクセス、ACID特性の保障、クライアントプロセスへの接続、権限の検証、クラッシュからの回復、レプリケーションその他のDBMSのすべての重要な機能を管理します。
コミット前にはトランザクションの効果が同時実行するトランザクションから見えない性質。 これはACID特性の一部です。
詳細については13.2を参照してください。
プロセスがあるリソースへの同時アクセスを制限、あるいは阻止できるようにするための機構。
ログファイルには事象に関する人間可読なテキスト行が含まれます。 例として、ログイン失敗、長期に渡って実行中の問い合わせなどがあります。
詳細については25.3を参照してください。
WALに変更が送信されると、テーブルはログされると見なされます。
デフォルトでは、すべての通常のテーブルはログされます。
生成時、あるいはALTER TABLE
コマンドでunloggedとテーブルを指定することができます。
有効な場合、そのプロセスは現在のログファイルにデータベースのイベントに関する情報を書き込む補助プロセス。 ある時刻あるいは容量による条件に到達すると、新しいログファイルが作られます。 sysloggerとも呼ばれます。
詳細については20.8を参照してください。
WALレコードの旧用語。
ある情報をその場で計算するのではなく、後で使うために前もって計算し、格納する属性。
この用語は、ビュー問い合わせから派生するデータが、そのデータのソースとは別に格納されることを意味する目的で、マテリアライズドビューで用いられます。
またこの用語は、与えられたステップを実行した結果のデータをメモリに格納し(ディスクに吐き出す可能性もあります)、別のステップで複数回読み出されるようにすることを意味する複数ステップの問い合わせを指すためにも使われます。
SELECT
文により定義されたリレーション(ビューと同様)ですが、テーブルと同じ方法でデータが格納されます。
INSERT
、UPDATE
、DELETE
の操作では変更できません。
詳細についてはCREATE MATERIALIZED VIEWを参照してください。
複数のトランザクションが、あるプロセスが他のプロセスを停止させることなく同じ行を読み書き可能にするように設計された機構。 PostgreSQLでは、タプルが変更されたときに、その複製(版)を作ることによりMVCCが実装されています。 古い版を見ることができるプロセスが終了した後、これらの古い版は削除する必要があります。
関係データベース理論の中心的な原理の一つである、存在しないという概念。 明示的な値が存在しないことを表現します。
複数CPUを持つサーバ上の並行プロセスの利点を活かすために、問い合わせの実行の各部分を扱うことが可能である機能。
大きな集合の中の互いに素な(重ならない)部分集合の一つ。
パーティション化テーブルとの関連では、親(parent)であるパーティション化テーブルの一部のデータを持つテーブルを意味します。 パーティション自身もテーブルなので、直接問い合わせ対象になります。 また、パーティションもパーティション化テーブルになることができるので、階層を作ることができます。
問い合わせの中のウィンドウ関数との関連では、パーティションは問い合わせの結果集合中のどの隣接する行であるかをその関数によって識別するユーザ定義の基準です。
インスタンスの最初期のプロセス。 他の補助プロセスを起動して管理し、要求に応じてバックエンドプロセスを生成します。
詳細については19.3を参照してください。
主キーのどの属性もnull値を持たないことが保証されているテーブルあるいは他のリレーション上に定義される一意性制約の特殊なケース。 その名前から連想されるように、一つのテーブルにはひとつだけ主キーが存在することができます。 しかし、NULLにならない属性を持つ複数の一意性制約を持つことも可能です。
2つ以上のデータベースがレプリケーションを通じて連携するときに、情報の信頼できるソースであると見なされるサーバはプライマリと呼ばれます。 マスタという用語でも知られています。
ルーチンの一種。
違いは値を返さないことと、COMMIT
やROLLBACK
といったトランザクション文を発行することが許されていることです。
CALL
コマンドを通じて呼び出されます。
詳細についてはCREATE PROCEDUREを参照してください。
通常結果を返す、あるいはデータベース上のデータを変更するためにクライアントからバックエンドに送信される要求。
問い合わせを実行する最も効率の良い方法を決定する(計画する)ために使われるPostgreSQLの一部分。 問い合わせオプティマイザ、オプティマイザ、あるいは単にプランナとしても知られています。
外部キーによってあるリレーションのデータを制限し、他のリレーションに対応するデータが必ず存在しなければならないようにする手段。
名前と特定の順序で定義された属性のリストを持つ、データベース内の全てのオブジェクトの総称。 テーブル、シーケンス、ビュー、外部テーブル、マテリアライズドビュー、複合型、インデックスはすべてリレーションです。
より一般的にはリレーションはタプルの集合です。 例えば問い合わせの結果もリレーションです。
PostgreSQLでは、クラスはリレーションの旧用語の同義語です。
プライマリデータベースと対になり、プライマリデータベースのデータのある部分、あるいはすべてのコピーを維持するデータベース。 これを行う大きな理由は、データへのアクセスを効率化し、プライマリが動作しなくなったときにデータの可用性を維持するためです。
あるサーバのデータの複製をレプリカに作る過程。 ここでは、あるサーバのファイルの変更をそのまま複製する物理レプリケーションと、あらかじめ定義したデータの部分集合に対する変更を高レベルの表現を使って転送する論理レプリケーションの2つの形式が可能です。
SQLコマンドの完了時にバックエンドプロセスからクライアントに送信されるリレーション。
SQLコマンドは通常SELECT
ですが、RETURNING
節が指定されればINSERT
、UPDATE
、DELETE
も可能です。
結果集合がリレーションであるということは、問い合わせが他の問い合わせの定義に使用でき、副問合せとなるということです。
ロールの名前付きリストに対してデータベースオブジェクトの名前付き集合に対するアクセスを防ぐコマンド。
詳細についてはREVOKEを参照してください。
インスタンスに対するアクセス権限の集まり。 ロールはそれ自身が他のロールへ与えることのできる権限です。 これは利便性、あるいは複数のユーザが同じ権限を必要とする際に漏れがないようにするためにしばしば行われます。
詳細についてはCREATE ROLEを参照してください。
トランザクションの開始以来実行されたすべての操作を取り消すためのコマンド。
詳細についてはROLLBACKを参照してください。
データベースシステムに格納され、実行するために起動可能な予め定義された操作の集合。 ルーチンは多様なプログラミング言語で記述できます。 ルーチンは、関数(集合を返す関数とトリガ関数)を含みます)、集約関数、プロシージャのいずれかです。
多くのルーチンはPostgreSQL自身にすでに含まれていますが、ユーザ定義のルーチンを追加することもできます。
トランザクション中の一連のステップ中の特別な印。 セーブポイント時点以降のデータ変更は、この時点まで遡って取り消すことができます。
詳細についてはSAVEPOINTを参照してください。
スキーマは、同じデータベースに存在するSQLオブジェクトのための名前空間です。 各SQLオブジェクトは正確に一つのスキーマに存在する必要があります。
すべてのシステム定義のSQLオブジェクトはpg_catalog
スキーマに存在します。
より一般的には、スキーマという用語は、与えられたデータベースあるいはその部分集合中のすべてのデータの記述(テーブル定義、制約、コメントなど)の意味で用いられます。
詳細については5.9を参照してください。
データベースに対してデータを要求するためのSQLコマンド。
通常SELECT
コマンドはデータベースを変更しないものと期待されますが、問い合わせ中で起動される関数がデータを変更する副作用を持つことはあり得ます。
詳細についてはSELECTを参照してください。
値を生成するために使用されるリレーションの一種。 通常、生成される値は非反復な連番です。 これらは通常、代理主キーの値を生成するために使用されます。
PostgreSQLインスタンスを実行するコンピュータ。 サーバという用語は、実際のハードウェア、コンテナ、あるいは仮想マシンを意味します。
この用語は時にはインスタンスあるいはホストに関連して用いられます。
接続を通じて通信し、クライアントとバックエンドが関わり合いを持つことが可能な状態。
一つのインスタンスに共通のプロセスによって使用されるRAM。 databaseファイルの一部をコピーし、WALレコードのために一時的な領域を提供し、追加の共通情報を格納します。 共有メモリは完全なインスタンスに所属し、単一のデータベースには所属しないことに注意してください。
共有メモリの最大の部分は共有バッファとして知られ、ページに分割されてデータファイルのコピーを保持するために使用されます。 ページが変更されると、ファイルシステムに書き出されるまではダーティページ(dirty page)と呼ばれます。
詳細については20.4.1を参照してください。
CREATE
コマンドで作られるあらゆるオブジェクト。
ほとんどのオブジェクトは一つのデータベースに限定され、ローカルオブジェクトとして一般的に知られています。
ほとんどのローカルオブジェクトは、リレーション (すべての種類)、ルーチン(すべての種類)データ型などのように、データベース中の特定のスキーマに存在します。 スキーマの同じ種類の中のそうしたオブジェクト同士は、名前がユニークであることが強制されます。
スキーマに存在しないローカルオブジェクトも存在します。 例としては、拡張、データ型キャスト、外部データラッパーがあります。 データベースの同じ種類の中のそうしたオブジェクト同士は、名前がユニークであることが強制されます。
他のオブジェクト型、たとえばロール、テーブル空間、レプリケーション起点、論理レプリケーションのサブスクライブ、データベース自体は、完全に特定のデータベースの外に存在するので、ローカルSQLオブジェクトではありません。 それらはグローバルオブジェクトと呼ばれます。 データベースクラスタ全体の同じ種類の中のそうしたオブジェクト同士は、名前がユニークであることが強制されます。
詳細については23.1を参照してください。
SQL言語を義する一連の文書。
クラッシュリカバリ中および物理レプリカでWALを再生する補助プロセス。
(歴史的経緯のある名前です。スタートアッププロセスは、レプリケーションが実装される前に名前が付けられました。 名前は、クラッシュ後のサーバ起動に関連するタスクを示しています。)
インスタンスのすべてのSQLオブジェクトの構造を記述するテーブルの集まり。
システムカタログはpg_catalog
スキーマに存在します。
これらのテーブルは内部表現のデータを格納しているので、典型的にはユーザが調べる目的には適しません。
pg_catalog
スキーマにもユーザによりわかりやすい多くのビューが提供されており、一部の情報にはより便利なアクセスを提供しています。
一方SQL標準によって管理されているものと同じあるいはさらに追加の情報を提供するinformation_schema
スキーマ(第37章参照)に追加のテーブルとビューがあります。
詳細については5.9を参照してください。
共通のデータ構造を持つタプルの集合(同じ数の属性が同じ順序で、位置ごとに同じ名前と型を持ちます)。 テーブルは、PostgreSQLにおけるリレーションの最も一般的な形式です。
詳細についてはCREATE TABLEを参照してください。
サーバファイルシステムの名前付き場所。
すべてのSQLオブジェクトは、システムカタログ内の定義を超えた格納領域が要求され、単一のテーブルスペースに属している必要があります。
最初にデータベースクラスは、単一で使用可能なテーブルスペースが含まれています。
それはpg_default
と呼ばれ、全てのSQLオブジェクトでデフォルトとして使用されます。
詳細については23.6を参照してください。
セッションまたはトランザクションのどちらか(作成時に指定します)の存続期間中にのみ存在するテーブル。 そのデータは他のセッションからは見られず、ログされることはありません。 一時テーブルはしばしば複数ステップ操作の中間データを格納するために使用されます。
詳細についてはCREATE TABLEを参照してください。
テーブル行の大きな属性を分割して副テーブルに格納する機構。 TOASTテーブルと呼ばれます。 大きな属性を持つ各リレーションには、独自のTOASTテーブルがあります。
詳細については73.2を参照してください。
単一の原子性コマンドとして動作する必要があるコマンドの組み合わせ。 それらは単一の組としてすべて成功かすべて失敗し、トランザクションが完了するまで(分離レベルによってはその後でさえ)、他のセッションからはその効果が見えません。
詳細については13.2を参照してください。
個々のトランザクションが最初にデータベースに変更を加える際に、ユニークな数値である順序数としてアサインされる識別子です。
しばしばxidと略されます。
ディスク上ではxidは32ビット幅しかないので、約4億の書き込みトランザクションIDしか生成できません。
それよりも長くシステムが実行できるようにするために、これもまた32ビット幅であるエポックが用いられます。
カウンタがxidの最大値に到達すると、xidは3
(これよりも小さな値は予約されています)から再開し、エポックの値は1増えます。
ときにはエポックとxidの値を組み合わせて、単一の64ビット値として扱うこともあります。
詳細については8.19を参照してください。
1秒あたりに実行されたトランザクションの平均数。 測定された実行中にアクティブな全てのセッションで合計されます。 これはインスタンスのパフォーマンス特性の指標として使用されます。
特定の操作(INSERT
、UPDATE
、DELETE
、TRUNCATE
)がリレーションに適用されるたびに実行することを定義できる関数。
トリガは、トリガを起動した文と同じトランザクション内で実行されます。関数が失敗すると、起動した文も失敗します。
詳細についてはCREATE TRIGGERを参照してください。
属性を一定の順序で集めたもの。 この順序はタプルが含まれるテーブル(または他のリレーション)によって定義されます。その場合タプルは、しばしば行と呼ばれます。 また結果セットの構造によって定義される場合もあります。その場合、タプルはレコードと呼ばれることがあります。
リレーションに定義される制約の一形式で、一つ以上の複数の列の組み合わせで許可される値を制限して、各値または組み合わせの値がリレーションの中で一度しか現れないように制限します。 — つまり、リレーション内の他の行にそれらと等しい値が含まれないようにします。
NULL値は互いに等しいとは見なされないため、一意性制約の違反にはならず、NULL値は複数の行に存在することが許可されます。
特定の性質のリレーションで、それらに対する変更がWALに反映されません。 これらのリレーションのレプリケーションとクラッシュリカバリは無効になります。
ログを取らないテーブルの主な用途は、プロセス間で共有する必要がある一時的な作業データを格納することです。
一時テーブルは常にログを取りません。
指定されたテーブルに既にある行を修正するために使われるSQLコマンド。 行を作成したり削除したりはできません。
詳細についてはUPDATEを参照してください。
LOGIN
権限を持つロール。
ローカルデータベース内のログイン認証情報をリモートデータシステム内の外部データラッパーによって定義された認証情報に変換すること。
詳細についてはCREATE USER MAPPINGを参照してください。
テーブルまたはマテリアライズドビューから古いものとなったタプルバージョンを削除し、またPostgreSQLのMVCCの実装に必要なその他の密接に関連する処理をおこなうプロセス。
これはVACUUM
コマンドを使用して開始できますが、自動バキュームプロセスを介して自動的に処理することもできます。
詳細については25.1を参照してください。
SELECT
文によって定義されたリレーションですが、それ自体は格納されません。
問い合わせがビューを参照すると、ビューの名前ではなく副問合せとして入力したかのように、ビューの定義が問い合わせに代入されます。
詳細についてはCREATE VIEWを参照してください。
テーブルのメインフォークの各データページに関するメタデータ保持する格納構造です。
各ページの可視性マップのエントリに2ビットが格納されます。
1番目のビット(all-visible
)は、ページ内のすべてのタプルがすべてのトランザクションに対して可視であることを示します。
2番目のビット(all-frozen
)は、ページ内のすべてのタプルが凍結とマークされていることを示します。
有効な場合、バックアップの作成またはレプリカを最新の状態に保つために、WALファイルのコピーを保持する補助プロセス。
詳細については26.3を参照してください。
WALセグメントやWALセグメントファイルとしても知られています。 WALの格納領域を提供する連番のファイル。 ファイルはすべて、事前に定義された同じサイズであり、連続した順序で書き込まれます。複数のセッションで同時に発生する変更が分散しています。 システムがクラッシュした場合、ファイルは順番に読み込まれ、各変更が再生されてクラッシュする前の状態にシステムが復元されます。
各WALファイルはチェックポイントがすべての変更を対応するデータファイルをすべて書き込んだ後に解放できます。 ファイルを解放するには、削除するか、名前を変えて将来使用できるようにします。これはrecycling(再利用)と呼ばれます。
詳細については30.6を参照してください。
個々のデータの変更を低レベルで記述したもの。 システム障害によって変更が失われた場合に、データの変更を再実行(再生)するための十分な情報が含まれています。 WALレコードは表示できないバイナリフォーマットを使用します。
詳細については30.6を参照してください。
プライマリサーバからWALを受信してスタートアッププロセスが再生するために、レプリカ上で実行される補助プロセス。
詳細については27.2を参照してください。
ネットワーク上でWALをストリーミングする特別なバックエンドプロセス。 受信側はレプリカのWALレシーバ、pg_receivewal、または複製プロトコルを話す他のクライアントプログラムです。
WALレコードを共有メモリからWALファイルに書き出すプロセス。
詳細については20.5を参照してください。
問い合わせ内で使用される関数の一種で、問い合わせの結果セットのパーティションに適用されます。 この関数の結果は、同じパーティションまたはフレームの行の値を元にしている。
すべての集約関数はウィンドウ関数として使用できますが、ウィンドウ関数は例えば、パーティション内の各行にランク付けすることもできます。 分析関数とも呼ばれます。
詳細については3.5を参照してください。
ユーザおよびシステム起因の操作によるデータベースクラスタ内の変更を追跡するジャーナル。 それは、多くの個別のWALレコードが連続してWALファイルに書き込まれます。