PostgreSQLは、SQLによって実行された更新結果を外部のコンシューマにストリーミングする基盤を提供しています。
更新結果は、ロジカルレプリケーションスロット(logical replication slots)で識別されるストリームに送出されます。
ストリームに送出される更新データのフォーマットは、使用するプラグインで決まります。 サンプルプラグインがPostgreSQLの配布物に含まれています。 追加のプラグインを書くことにより、PostgreSQLのコア部分のコードを一切変更することなく、利用可能なフォーマットの選択肢を増やすことができます。 すべてのプラグインから、 INSERTによって作成された個々の新しい行と、UPDATEによって作成された新しい個々の行のバージョンにアクセスできます。 UPDATEとDELETEによって生じた古いバージョンの行へのアクセスが可能かどうかは、 レプリカアイデンティティ(replica identity)の設定によって決まります(REPLICA IDENTITY参照)。
変更データの消費は、ストリーミングレプリケーションのプロトコル(項51.3と 項47.3を参照)を使うか、SQL関数(項47.4)を使って行います。 また、コア部分に手を入れなくても、レプリケーションスロットの出力を消費する別の方法を実装することもできます (項47.7参照)。