目次
<productname>PostgreSQL</productname> uses a message-based protocol for communication between frontends and backends (clients and servers). The protocol is supported over <acronym>TCP/IP</acronym> and also over Unix-domain sockets. Port number 5432 has been registered with IANA as the customary TCP port number for servers supporting this protocol, but in practice any non-privileged port number can be used. PostgreSQLはフロントエンドとバックエンド(クライアントとサーバ)の通信にメッセージベースのプロトコルを使用します。 このプロトコルはTCP/IPに加え、Unixドメインソケットをサポートします。 ポート番号5432は、このプロトコルをサポートするサーバ用のTCPポートとしてIANAに登録されています。 しかし、実際には任意の非特権ポート番号を使用することができます。
This document describes version 3.2 of the protocol, introduced in <productname>PostgreSQL</productname> version 18. The server and the libpq client library are backwards compatible with protocol version 3.0, implemented in <productname>PostgreSQL</productname> 7.4 and later. 《機械翻訳》このドキュメントは、PostgreSQLバージョン18で導入されたプロトコルのバージョン3.2を記述しています。 サーバおよびlibpqクライアントライブラリは、PostgreSQL7.4以降で実装されたプロトコルバージョン3.0と下位互換性があります。
In order to serve multiple clients efficiently, the server launches a new <quote>backend</quote> process for each client. In the current implementation, a new child process is created immediately after an incoming connection is detected. This is transparent to the protocol, however. For purposes of the protocol, the terms <quote>backend</quote> and <quote>server</quote> are interchangeable; likewise <quote>frontend</quote> and <quote>client</quote> are interchangeable. 複数のクライアントにサービスを効率的に提供するために、サーバは各クライアント毎に新規の「バックエンド」プロセスを起動します。 現在の実装では、サーバに接続が届いたことを検知すると即座に新しい子プロセスが生成されます。 しかし、これはプロトコルに対して透過的です。 プロトコルという意味では、「バックエンド」と「サーバ」という用語は相互交換可能です。 同様に「フロントエンド」と「クライアント」も相互交換可能です。