From 2759d632777c3d53bb8318e2a37936d505c7690f Mon Sep 17 00:00:00 2001 From: Higuchi Daisuke <20634318+higuchi-daisuke@users.noreply.github.com> Date: Tue, 20 Jan 2026 11:52:54 +0000 Subject: [PATCH 1/4] Update doc/src/sgml/libpq.sgml for 18.0. --- doc/src/sgml/libpq.sgml | 498 +++++++++++++++++++--------------------- 1 file changed, 238 insertions(+), 260 deletions(-) diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index b2b25e5b6b8..ed83e2b18dc 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -548,19 +548,12 @@ PostgresPollingStatusType PQconnectPoll(PGconn *conn); indicate the current stage of the connection procedure and might be useful to provide feedback to the user for example. These statuses are: --> -《マッチ度[89.209726]》接続している間は、いつでもを呼び出すことで、接続の状態を検査することができます。 +接続している間は、を呼び出すことで、いつでも接続の状態を検査することができます。 この関数呼び出しがCONNECTION_BADを返す場合、接続手続きは失敗しており、CONNECTION_OKを返す場合、接続が確立しています。 上述のように、このいずれの状態も、PQconnectPollの戻り値から同様に検出できます。 -これ以外の状態は、非同期の接続手続きの間(のみに)現れることがあります。 +これ以外の状態は、非同期の接続手続きの間(のみ)に現れることがあります。 これらは、接続手続きの現在の段階を示すものであり、例えばユーザへのフィードバックを提供することに使用できます。 以下の状態があります。 -《機械翻訳》コネクションのステータスは、コネクション中いつでもに電話して確認できます。 -この呼び出しがCONNECTION_BADを戻す場合、コネクションプロシージャは失敗しています。 -呼び出しがCONNECTION_OKを戻す場合、コネクションは準備完了です。 -これらの状態は両方とも、前述のPQconnectPollの戻り値から同様に検出できます。 -他の状態も非同期通信方式プロシージャの間(およびその間のみ)発生する場合があります。 -これらはコネクションプロシージャの現在ステージを示し、例のためにユーザにフィードバックを提供する場合に役立ちます。 -これらのステータスは次のとおりです。 @@ -780,17 +773,12 @@ int PQsocketPoll(int sock, int forRead, int forWrite, Note that the underlying system calls may have less than microsecond precision, so that the actual delay may be imprecise. --> -《マッチ度[86.171761]》タイムアウトはend_timeで指定され、これは、Unixエポックからのマイクロ秒数で表される待機を停止する時間です(つまり、time_t×100万)。 +タイムアウトはend_timeで指定されます。 +これは、Unixエポックからのマイクロ秒数で表される、待機を停止する時間です(つまり、time_t×100万)。 end_time-1の場合、タイムアウトは無限になります。 -end_timeが0の場合、タイムアウトは即時(ブロッキングなし)です(実際には、現在時刻の前の任意の時刻でも構いません)。 +end_time0の場合、タイムアウトは即時(ブロッキングなし)です(実際には、現在時刻の前の任意の時刻でも構いません)。 タイムアウト値は、の結果に所望のマイクロ秒数を加えることによって容易に計算できます。 使用しているシステムコールの精度はマイクロ秒より劣っていることがあり、実際の遅延は不正確である可能性があることに注意してください。 -《機械翻訳》タイムアウトはend_timeで指定されます。 -これは、Unixエポックからの待機を停止する時間をマイクロ秒単位で表したものです(つまり、time_tに100万を掛けたものです。 -end_time-1の場合、タイムアウトは無限です。 -end_time0の場合、タイムアウトは即時(ブロッキングなし)です(または、現在の前の任意の時間です)。 -タイムアウトの値は、の結果に必要なマイクロ秒数を加算することで簡単に計算できます。 -ノートは、基礎となるシステムコールがより小さいマイクロ秒の精度を持つ可能性があるため、実際の遅延は不正確になる可能性があります。 @@ -1948,7 +1936,7 @@ Windowsでは、localhostへの接続を試みます。 for details about migrating to another password type. --> -《機械翻訳》MD5で暗号化されたパスワードのサポートは非推奨となり、将来のPostgreSQLのリリースで削除されます。 +MD5で暗号化されたパスワードのサポートは非推奨となり、将来のPostgreSQLのリリースで削除されます。 他のパスワードタイプへの移行の詳細については、を参照してください。 @@ -2003,7 +1991,7 @@ Windowsでは、localhostへの接続を試みます。 -《機械翻訳》サーバは、クライアントからOAuthベアラトークンをリクエストする必要がある。 +サーバはクライアントにOAuthベアラ(bearer)トークンを要求しなければなりません。 @@ -2646,11 +2634,8 @@ SSLサポート付きでPostgreSQLをコンパイル authentication when the server does not support direct SSL handshake. --> -《マッチ度[71.777003]》TCP/IPハンドシェイクを確立した後に直接SSL接続を開始します。 -弱い設定では、サーバがSSL認証をサポートしない場合に、意図しないプレーンテキストハンドシェイクへのフォールバックが発生する可能性があるため、sslmode=require以上の場合にのみ許可されます。 -《機械翻訳》TCP/IPハンドシェイクを確立した直後のスタートSSLコネクション。 -これはsslmode=requireまたはそれ以上でのみ許可されます。 -これは、サーバがSSL認証をサポートダイレクトしない場合に、設定が弱いとプレーンテキストハンドシェイクへの意図しないフォールバックが発生する可能性があるためです。 +TCP/IP接続を確立した後に直接SSLハンドシェイクを開始します。 +弱い設定では、サーバが直接SSLハンドシェイクをサポートしない場合に、意図しないプレーンテキストハンドシェイクへのフォールバックが発生する可能性があるため、sslmode=require以上の場合にのみ許可されます。 @@ -2755,10 +2740,10 @@ SSL接続が確立していない場合このパラメータは無視されま logging). Keys are logged using the NSS format. --> -《機械翻訳》このパラメータは、libpqログキーがこのSSLコンテキストで使用される場所を指定します。 -これは、デバッグPostgreSQLWiresharkなどのプロトコル検査ツールを使用したクライアント相互作用またはネットワーク接続に役立ちます。 -SSLコネクションが作成されていない場合、またはLibreSSLが使用されている場合(LibreSSLはサポートキーロギングではありません)、このパラメータは無視されます。 -キーはNSSフォーマットを使用してログに記録されます。 +このパラメータは、libpqがこのSSLコンテキストで使用されるキーを記録する場所を指定します。 +これは、Wiresharkなどのネットワーク検査ツールを使用してPostgreSQLプロトコルの相互作用やクライアント接続をデバッグする場合に役立ちます。 +SSL接続が確立されていない場合、またはLibreSSLが使用されている場合(LibreSSLはキーの記録をサポートしていません)、このパラメータは無視されます。 +キーはNSS形式を使用して記録されます。 -《機械翻訳》キーロギングでは、キーログファイル内の機密情報が公開される可能性があります。 -キーログファイルはファイルと同じように注意して取り扱う必要があります。 +キーを記録することで、キーの記録ファイル内に潜在的に機密性の高い情報が公開されることになります。 +キーの記録ファイルはファイルと同様に注意して扱う必要があります。 @@ -2794,8 +2779,7 @@ SSLコネクションが作成されていない場合、またはL when an encrypted client certificate key is provided to libpq. --> -《マッチ度[78.867925]》空でない値でこのパラメータを指定することで、暗号化されたクライアント証明書キーがlibpqに供給されるときにOpenSSLがデフォルトで出すEnter PEM pass phrase:プロンプトを抑止します。 -《機械翻訳》このパラメータに空でない値を指定すると、暗号化されたクライアント認証プロンプトがlibpqに提供されるときに、OpenSSLがデフォルトによって発行するEnter PEM pass phrase:キーが抑制されます。 +このパラメータに空でない値を指定することで、暗号化されたクライアント証明書キーがlibpqに提供されるときにOpenSSLがデフォルトで出力するEnter PEM pass phrase:プロンプトを抑止します。 -《機械翻訳》コネクションの最小プロトコルバージョンを指定します。 -デフォルトは、PostgreSQLlibpqがサポートするバージョン、現在は3.0を意味します。 -サーバが少なくともこのプロトコルバージョンをサポートしない場合、コネクションは閉じたになります。 -プロトコル +接続で許容されるプロトコルの最小バージョンを指定します。 +デフォルトではlibpqがサポートする任意のバージョンのPostgreSQLプロトコル(現在は3.0)を許可します。 +サーバが少なくともこのプロトコルバージョンをサポートしていない場合、接続は閉じられます。 @@ -3143,8 +3126,8 @@ Unixドメインソケット接続を確立する時に、このパラメータ equivalent to the latest protocol version supported by the libpq version being used, which is currently 3.2. --> -《機械翻訳》サポートされている現在の値は、3.03.2、およびlatestです。 -latestの値は、現在使用されているlibpqバージョンでサポートされている最新のプロトコルバージョン3.2に相当します。 +現在サポートされている値は、3.03.2、およびlatestです。 +latestの値は、使用されているlibpqのバージョンでサポートされている最新のプロトコルバージョンと同等であり、現在は3.2です。 @@ -3165,10 +3148,11 @@ Unixドメインソケット接続を確立する時に、このパラメータ completed you can use to find out which exact protocol version was negotiated. --> -《機械翻訳》サーバからリクエストまでのプロトコルバージョンを指定します。 -デフォルトはPostgreSQLプロトコルのバージョンを使用します3.0ただし、コネクション文字列が上位のプロトコルバージョンに依存する機能を指定し、libpqがサポートする最新のバージョンが使用されるケースを指定する場合は除きます。 -サーバがクライアントから要求されたプロトコルバージョンをサポートしない場合、コネクションはサーバがサポートする下位のマイナープロトコルバージョンに自動的にダウングレードされます。 -コネクションの試行が完了した後、を使用してどのプロトコルバージョンがネゴシエートされたかを調べることができます。 +サーバが要求するプロトコルバージョンを指定します。 +デフォルトではPostgreSQLプロトコルのバージョン3.0が使用されます。 +ただし、より上位のプロトコルバージョンに依存する機能が接続文字列に指定されている場合は、libpqがサポートする最新バージョンが使用されます。 +クライアントが要求するプロトコルバージョンをサーバがサポートしていない場合、その接続は、サーバがサポートしている、より低いプロトコルバージョンに自動的にダウングレードされます。 +接続試行が完了したら、を使用することで、どのプロトコルバージョンで調停したかを確認できます。 @@ -3179,8 +3163,8 @@ Unixドメインソケット接続を確立する時に、このパラメータ equivalent to the latest protocol version supported by the libpq version being used, which is currently 3.2. --> -《機械翻訳》サポートされている現在の値は、3.03.2、およびlatestです。 -latestの値は、現在使用されているlibpqバージョンでサポートされている最新のプロトコルバージョン3.2に相当します。 +現在サポートされている値は、3.03.2、およびlatestです。 +latestの値は、使用されているlibpqのバージョンでサポートされている最新のプロトコルバージョンと同等であり、現在は3.2です。 @@ -3261,10 +3245,10 @@ GSS資格証明をサーバに転送(委任)します。 implementation. It is not meant to be specified directly by users or client applications. --> -《機械翻訳》ベース64で符号化されたSCRAMクライアントキーです。 -これはパススルーSCRAMデータを有効にするために、外部ミドルウェアラッパーや同様の認証によって使用されます。 -そのような実装の1つについてはを参照してください。 -これはユーザやクライアントアプリケーションによって直接指定されることを意図していません。 +base64でエンコードされたSCRAMクライアントキーです。 +これを外部データラッパーまたは同様のミドルウェアで使用して、パススルーSCRAM認証を有効にすることができます。 +そのような実装の1つについては、を参照してください。 +これは、ユーザまたはクライアントアプリケーションが直接指定することを意図したものではありません。 @@ -3281,10 +3265,10 @@ GSS資格証明をサーバに転送(委任)します。 implementation. It is not meant to be specified directly by users or client applications. --> -《機械翻訳》ベース64で符号化されたSCRAMサーバキーです。 -これはパススルーSCRAMデータを有効にするために、外部ミドルウェアラッパーや同様の認証によって使用されます。 -そのような実装の1つについてはを参照してください。 -これはユーザやクライアントアプリケーションによって直接指定されることを意図していません。 +base64でエンコードされたSCRAMサーバキーです。 +これを外部データラッパーまたは同様のミドルウェアで使用して、パススルーSCRAM認証を有効にすることができます。 +そのような実装の1つについては、を参照してください。 +これは、ユーザまたはクライアントアプリケーションが直接指定することを意図したものではありません。 @@ -3504,9 +3488,9 @@ GSS資格証明をサーバに転送(委任)します。 connections; it should exactly match the issuer setting in the server's HBA configuration. --> -《機械翻訳》トラステッドがサーバのOAuthトークンをリクエストした場合に連絡するコネクション発行者のHTTPS URL。 -このパラメータは、すべてのOAuth接続に必要です。 -サーバのHBA設定のissuer設定と正確にマッチする必要があります。 +サーバが接続用のOAuthトークンを要求した場合に使用する、信頼できる発行者のHTTPS URLです。 +このパラメータはすべてのOAuth接続に必要です。 +サーバのHBA設定のissuerの設定と完全に一致する必要があります。 -《機械翻訳》標準認証ハンドシェイクのパートとして、libpqはサーバにディスカバリドキュメント:一連のOAuth設定パラメータを提供するURLを要求します。 -サーバはOAuth_issuerのコンポーネントから直接構築されたURLを提供する必要があり、この値はディスカバリドキュメント自分自身で宣言された発行者識別子を正確にマッチする必要があります。 -そうしないとコネクションは失敗します。 -これは、OAuthクライアントに対するのクラスの「混乱攻撃」を防ぐために必要です。 +標準認証ハンドシェイクの一部として、libpqはサーバにディスカバリー文書、つまり一連のOAuth設定パラメータを提供するURLを要求します。 +サーバはoauth_issuerのコンポーネントから直接構築されたURLを提供する必要があり、この値はディスカバリー文書自体で宣言されている発行者の識別子と完全に一致する必要があります。 +もし一致しない場合、接続は失敗します。 +これは、OAuthクライアントに対する一種のmix-up攻撃を防ぐために必要です。 -《機械翻訳》明示的に設定することもできますOAuth_issuer /.well-known/ OAuth検出に使用されるURI。 -このケースでは、サーバが別のURLを要求した場合、コネクションは失敗しますが、カスタムOAuthフローは、以前にキャッシュされたトークンを使用して標準ハンドシェイクを高速化できる場合があります。 -(このケースでは、も設定することをお勧めします。 -クライアントはサーバに正しいスコープ設定を要求する機会がなく、トークンのデフォルトスコープでは接続に十分でない可能性があるためです。 -libpq現在、次のウェルノウンエンドポイントをサポートしています。 +OAuthの検出のために利用される/.well-known/ URIに、oauth_issuerを明示的に設定することもできます。 +この場合、サーバが別のURLを要求すると接続は失敗しますが、カスタムOAuthフローでは、以前にキャッシュされたトークンを使用して標準ハンドシェイクを高速化できる場合があります。 +(この場合、クライアントがサーバに正しいスコープ設定を要求する機会がなく、トークンのデフォルトスコープでは接続に不十分な場合があるため、も設定することをお勧めします。) +libpqは現在、以下の既知のエンドポイントをサポートしています。 /.well-known/openid-configuration /.well-known/oauth-authorization-server @@ -3557,8 +3540,8 @@ GSS資格証明をサーバに転送(委任)します。 access to your servers, or to impersonate you directly, that URL should not be trusted as an oauth_issuer. --> -《機械翻訳》発行者は、OAuthコネクションハンドシェイクの間、非常に特権的である。 -ルールの経験則として、ハンドルアクセスへのURLの演算子をサーバに対して信頼しない場合、またはユーザに直接偽装しない場合は、そのURLをOAuth_issuerとしてトラステッドにすべきではない。 +OAuth接続ハンドシェイクの間、発行者には高い権限が与えられます。 +経験則として、あるURLの運用者を信頼できず、サーバへのアクセス処理を任せることや自分自身になりすますことを任せることができない場合、そのURLをoauth_issuerとして信頼すべきではありません。 @@ -3576,9 +3559,9 @@ GSS資格証明をサーバに転送(委任)します。 OAuth hook is installed to provide one), then this parameter must be set; otherwise, the connection will fail. --> -《機械翻訳》authorizationサーバによって発行されたOAuth 2.0クライアント識別子。 -サーバのPostgreSQLサーバOAuthトークンを要求が設定されている場合(およびカスタムOAuthフックがインストールされていない場合)、このパラメータを設定する必要があります。 -設定されていない場合、コネクションは失敗します。 +認証サーバによって発行されたOAuth 2.0クライアント識別子です。 +PostgreSQLサーバが接続用のOAuthトークンを要求する場合(および、トークンを提供するカスタムOAuthフックがインストールされていない場合)、このパラメータを設定する必要があります。 +設定されていない場合、接続は失敗します。 @@ -3593,9 +3576,9 @@ GSS資格証明をサーバに転送(委任)します。 determined by the OAuth provider; "public" clients generally do not use a secret, whereas "confidential" clients generally do. --> -《機械翻訳》OAuth認証パスワードに連絡するときに使用するクライアントサーバ(ある場合)。 -このパラメータが必要かどうかは、OAuthプロバイダによって決定されます。 -「パブリック」クライアントは通常、シークレットを使用しませんが、「機密」クライアントは通常、シークレットを使用します。 +OAuth認証サーバにアクセスするときに使用するクライアントパスワード(もしあれば)です。 +このパラメータが必要かどうかはOAuthプロバイダによって決定されます。 +「公開」クライアントは通常シークレットを使用しませんが、「機密」クライアントは一般的にシークレットを使用します。 @@ -3609,8 +3592,9 @@ GSS資格証明をサーバに転送(委任)します。 specified as a (possibly empty) space-separated list of OAuth scope identifiers. This parameter is optional and intended for advanced usage. --> -《機械翻訳》許可サーバに送信されたアクセスリクエストのスコープは、OAuthスコープ識別子の(おそらく空の)スペースで区切られたリストとして指定されます。 -このパラメータはオプションであり、高度な使用法を意図しています。 +認証サーバに送信されるアクセス要求のスコープです。 +スペースで区切られたOAuthスコープ識別子の一覧(空の場合もあります)として指定されます。 +このパラメータはオプションであり、高度な使用方法を意図としています。 -《機械翻訳》通常、クライアントはPostgreSQLサーバから適切なスコープ設定を取得します。 -このパラメータが使用される場合、サーバの要求されたスコープリストは無視されます。 -これにより、より少ないトラステッドサーバがエンドユーザから不適切なアクセス範囲を要求するのを防ぐことができます。 -ただし、クライアントのスコープ設定にサーバの必要な範囲が含まれていない場合、サーバは発行されたトークンを拒否する可能性が高く、コネクションは失敗します。 +通常、クライアントはPostgreSQLサーバから適切なスコープ設定を取得します。 +このパラメータを使用すると、サーバから要求されたスコープの一覧は無視されます。 +これにより、信頼性の低いサーバがエンドユーザに適切ではないアクセススコープを要求することを防ぐことができます。 +ただし、クライアントのスコープ設定にサーバの必須スコープが含まれていない場合、サーバは発行されたトークンを拒否する可能性が高く、接続は失敗します。 -《機械翻訳》空のスコープリストの意味はプロバイダに依存します。 -OAuth認証サーバは、「デフォルトトークン」を持つスコープを発行するか、トークンリクエストを完全に拒否するかを選択できます。 +空のスコープ一覧が何を意味するかは、プロバイダに依存します。 +OAuth認証サーバは、それが何であれ「デフォルトスコープ」でトークンを発行する場合もあれば、トークンの要求を完全に拒否する場合もあります。 @@ -3974,20 +3958,12 @@ ConnStatusType PQstatus(const PGconn *conn); application could try to recover by calling . --> -《マッチ度[77.160494]》この状態は多くの値の中の1つとなるはずです。 -しかし非同期接続手順の外部からは、その中でたった2つ、CONNECTION_OKCONNECTION_BADだけが現れます。 -データベースへの接続に問題がなければ、CONNECTION_OK状態になります。 -接続に失敗している場合はCONNECTION_BAD状態となります。 -通常、OK状態はまで維持されますが、通信失敗のために早まってCONNECTION_BADになることもあります。 +この状態は多くの値の中の1つとなるはずです。 +しかし非同期接続手順の外部からは、その中でたった2つ、CONNECTION_OKCONNECTION_BADだけが現れます。 +データベースへの接続に問題がなければ、CONNECTION_OK状態になります。 +接続に失敗している場合はCONNECTION_BAD状態となります。 +通常、OK状態はまで維持されますが、通信失敗のために早まってCONNECTION_BADになることもあります。 その場合、アプリケーションはを呼び出して修復を試みることができます。 -《機械翻訳》ステータスには、複数の値のいずれかを指定できます。 -ただし、非同期通信方式プロシージャの外部で表示されるのは、次の2つのみです。 -CONNECTION_OKおよびCONNECTION_BAD。 -データベースへの良好なコネクションにはステータスCONNECTION_OK。 -コネクション試行の失敗はステータスによって通知されます。 -通常、OKステータスはまでそのままですが、通信障害によりステータスがCONNECTION_BAD早期に変更される場合があります。 -そのケースでは、アプリケーションはをコールしてトライを回復できます。 -CONNECTION_BAD @@ -4079,6 +4055,7 @@ const char *PQparameterStatus(const PGconn *conn, const char *paramName); standard_conforming_strings TimeZone + +(default_transaction_read_onlyin_hot_standbyは14より前のリリースでは報告されませんでした。 +scram_iterationsは16より前のリリースでは報告されませんでした。 +search_pathは18より前のリリースでは報告されませんでした。) +なお、server_versionserver_encoding、およびinteger_datetimesは起動後に変更できません。 @@ -4137,22 +4119,18 @@ int PQfullProtocolVersion(const PGconn *conn); protocol is supported by PostgreSQL server versions 7.4 and above. --> -《マッチ度[54.725275]》この関数を使用してアプリケーションは接続したデータベースサーバのバージョンを決定することができます。 -返却値の形式は、メジャーバージョン番号に10000を掛け、マイナーバージョン番号を加えたものです。 -例えば、バージョン10.1では100001を返し、バージョン11.0では110000を返します。 -接続不良の場合は0が返されます。 -《機械翻訳》この関数を使用して、特定の機能がサポートされているかどうかを判別できます。 -結果は、サーバのメジャーバージョン番号に10000を乗算し、マイナーバージョン番号を加算したものになります。 -例の場合、バージョン3.2は30002として戻され、バージョン4.0は40000として戻されます。 -コネクションが不良の場合、ゼロが戻されます。 -3.0プロトコルは、PostgreSQLサーババージョン7.4以上でサポートされています。 +アプリケーションは、この関数を使用して特定の機能がサポートされているかどうかを確認することができます。 +返却値は、サーバのメジャーバージョン番号に10000を乗算し、マイナーバージョン番号を加算した形式になります。 +たとえば、バージョン3.2は30002として返され、バージョン4.0は40000として返されます。 +接続が不良な場合は0が返されます。 +3.0プロトコルは、PostgreSQLサーババージョン7.4以降でサポートされています。 -《機械翻訳》コネクションスタートアップが完成した後もプロトコルバージョンは変わりませんが、理論的にはコネクションリセット中に変わる可能性があります。 +プロトコルのバージョンは、接続の開始処理が完了しても変更されませんが、理論的には接続のリセット中に変わる可能性があります。 @@ -4165,8 +4143,7 @@ int PQfullProtocolVersion(const PGconn *conn); -《マッチ度[68.421053]》使用されるフロントエンド/バックエンドプロトコルを調査します。 -《機械翻訳》フロントエンド/バックエンドプロトコルメジャーバージョンを問い合わせる。 +フロントエンド/バックエンドプロトコルのメジャーバージョンを調査します。 int PQprotocolVersion(const PGconn *conn); @@ -4177,9 +4154,9 @@ int PQprotocolVersion(const PGconn *conn); 3 (3.0 protocol), or zero (connection bad). Prior to release version 14.0, libpq could additionally return 2 (2.0 protocol). --> -《機械翻訳》とは異なり、これは使用中のメジャープロトコルバージョンのみを戻しますが、バージョン7.4までさかのぼったlibpqリリースのより広いレンジでサポートされています。 -現在、可能な値は3(3.0プロトコル)またはゼロ(コネクションbad)です。 -リリースバージョン14.0より前は、libpqはさらに結果2(2.0プロトコル)を追加できました。 +とは異なり、これは使用中のメジャープロトコルバージョンのみを返しますが、バージョン7.4までさかのぼる幅広いlibpqリリースでサポートされています。 +現在返却されうる値は3(3.0プロトコル)または0(接続不良)です。 +バージョン14.0より前のリリースでは、libpqはさらに2(2.0プロトコル)を返す可能性があります。 @@ -9385,19 +9362,12 @@ PostgresPollingStatusType PQcancelPoll(PGcancelConn *cancelConn); be useful to provide feedback to the user for example. These statuses are: --> -《マッチ度[84.513274]》接続中はいつでも、を呼び出すことで接続の状態を確認できます。 -この呼び出しがCONNECTION_BADを返した場合、キャンセル手続きは失敗です。 -この呼び出しがCONNECTION_OKを返した場合、キャンセル要求は正常にディスパッチされました。 +接続中はいつでも、を呼び出すことで接続の状態を確認できます。 +この呼び出しがCONNECTION_BADを返した場合、キャンセル手続きは失敗しています。 +この呼び出しがCONNECTION_OKを返した場合、キャンセル要求は正常にディスパッチされました。 これらの状態はどちらも、上記のPQcancelPollの戻り値から等しく検出できます。 他の状態は、非同期接続手順の間(およびその間のみ)に発生することもあります。 これらは、接続手順の現在の段階を示し、例えばユーザにフィードバックを提供するのに有用です。 -これらのステータスは次のとおりです。 -《機械翻訳》コネクションのステータスは、コネクション中いつでもに電話して確認できます。 -この呼び出しがCONNECTION_BADを戻す場合、キャンセルプロシージャは失敗しています。 -呼び出しがCONNECTION_OKを戻す場合、キャンセルリクエストは正常に作業手配されています。 -これらの両方の状態は、前述のPQcancelPollの戻り値から同様に検出できます。 -他の状態もプロシージャの非同期通信方式中(およびその間のみ)に発生する場合があります。 -これらはプロシージャコネクションの現在段階を示し、例のユーザにフィードバックを提供する場合に役立ちます。 これらのステータスは次のとおりです。 @@ -9558,18 +9528,12 @@ ConnStatusType PQcancelStatus(const PGcancelConn *cancelConn); remain so until or is called. --> -《マッチ度[76.520509]》ステータスは、いくつかの値のいずれかになります。 -しかし、非同期キャンセル手続きの外で見られるのは、CONNECTION_ALLOCATEDCONNECTION_OKCONNECTION_BADの3つだけです。 -を使用して正常に作成されたPGcancelConnの初期状態はCONNECTION_ALLOCATEDです。 -正常にディスパッチされたキャンセル要求はCONNECTION_OKの状態になります。 -キャンセルが失敗した場合、状態CONNECTION_BADが通知されます。 +ステータスは、いくつかの値のいずれかになります。 +しかし、非同期キャンセル手続きの外で見られるのは、CONNECTION_ALLOCATEDCONNECTION_OK、およびCONNECTION_BADの3つだけです。 +を使用して正常に作成されたPGcancelConnの初期状態はCONNECTION_ALLOCATEDです。 +正常にディスパッチされたキャンセル要求はCONNECTION_OKの状態になります。 +キャンセルが失敗した場合、状態CONNECTION_BADが通知されます。 またはが呼び出されるまで、OK状態はそのまま残ります。 -《機械翻訳》「ステータス」には、複数の値のうちの1つを指定できます。 -ただし、非同期キャンセルプロシージャ以外で表示されるのは、CONNECTION_ALLOCATEDCONNECTION_OKおよびCONNECTION_BADの3つのみです。 -PGcancelConnを使用して正常に作成されたの初期状態はCONNECTION_ALLOCATEDです。 -正常に作業手配されたキャンセルリクエストはステータスCONNECTION_OKです。 -キャンセル試行の失敗はステータスCONNECTION_BADによって通知されます。 -OKステータスはまたはがコールされるまでそのままです。 @@ -10829,15 +10793,10 @@ int PQputline(PGconn *conn, mode.) It is sufficient to call after having sent the actual data. --> -《マッチ度[79.854809]》PostgreSQLプロトコル3.0より前では、アプリケーションは、サーバに対してCOPYデータの送信を完了したことを通知するために、最終の行として\.という2文字を明示的に送信する必要がありました。 -これはまだ動作します。 -しかし、これは廃れたものとして、\.の特殊な意味は将来のリリースで無くなることが予想されます。 -実際のデータの送信完了後にを呼び出すことが重要です。 -《機械翻訳》前PostgreSQLプロトコル3.0年、アプリケーションは明示的に2つの文字を送信する必要がありました\.データの送信を完了したことをサーバに示すための最終直線として。 -これはまだ機能しますが、廃止され、\.の特別な意味は将来のリリースで削除されることが予想されます。 -CSVモードではすでに不正な動作をします。 -実際のデータを送信した後にを呼び出しするだけで十分です。 -COPY +PostgreSQLプロトコル3.0より前では、アプリケーションは、サーバに対してCOPYデータの送信を完了したことを通知するために、最終の行として\.という2文字を明示的に送信する必要がありました。 +これはまだ動作しますが、廃止予定であり、\.の特殊な意味は将来のリリースで無くなることが予想されます。 +(CSVモードでは、すでに正しく動作しません。) +実際のデータの送信完了後にを呼び出すだけで十分です。 @@ -11766,8 +11725,7 @@ size_t PQresultMemorySize(const PGresult *res); -《マッチ度[64.864865]》使用中のlibpqのバージョンを返します。 -《機械翻訳》結果libpq使用されているのバージョン。 +使用中のlibpqのバージョンを返します。 int PQlibVersion(void); @@ -12135,14 +12093,10 @@ typedef struct cleanup must be performed as no PGEVT_CONNDESTROY event will be sent. --> -《マッチ度[85.714286]》PGEVT_REGISTERイベントが受け取られると、evtInfoポインタはPGEventRegister *にキャストされなければなりません。 -この構造体はCONNECTION_OK状態ではなくてはならないPGconnを含んでいます。 +PGEVT_REGISTERイベントが受け取られると、evtInfoポインタはPGEventRegister *にキャストされなければなりません。 +この構造体はCONNECTION_OK状態ではなくてはならないPGconnを含んでいます。 そしてそれは、効果のあるPGconnを取得した直後、を呼び出せば、保証されます。 失敗コードを返すとき、PGEVT_CONNDESTROYイベントが送られないので、すべての消去が実行されなければなりません。 -《機械翻訳》PGEVT_REGISTERイベントを受信した場合、evtInfoポインタはPGEventRegister*に対してキャストである必要があります。 -この構造体包含aPGconnCONNECTION_OKステータスにあるはずです。 -良いPGconnを取得した直後にを呼び出す場合に保証されます。 -失敗コードを返す場合、PGEVT_CONNDESTROYイベントは送信されないため、すべてのクリーンアップを実行する必要があります。 @@ -13323,8 +13277,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGMINPROTOCOLVERSION behaves the same as the connection parameter. --> -《マッチ度[85.820896]》PGSSLMINPROTOCOLVERSION接続パラメータと同様に動作します。 -《機械翻訳》PGMINPROTOCOLVERSIONコネクションパラメータと同じ動作をします。 +PGMINPROTOCOLVERSION接続パラメータと同様に動作します。 @@ -13337,8 +13290,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGMAXPROTOCOLVERSION behaves the same as the connection parameter. --> -《マッチ度[85.820896]》PGSSLMAXPROTOCOLVERSION接続パラメータと同様に動作します。 -《機械翻訳》PGMAXPROTOCOLVERSIONのコネクションパラメータと同じ動作をします。 +PGMAXPROTOCOLVERSION接続パラメータと同様に動作します。 @@ -13484,13 +13436,10 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) using the connection parameter or the environment variable PGPASSFILE. --> -《マッチ度[74.653740]》ユーザのホームディレクトリの.pgpassは、接続にパスワードが必要な場合(かつ、他に指定されたパスワードが無かった場合)に使用するパスワードを格納するファイルです。 -Microsoft Windowsでは、このファイルの名前は%APPDATA%\postgresql\pgpass.conf(ここで%APPDATA%はユーザのプロファイル内のアプリケーションデータディレクトリ)です。 +ユーザのホームディレクトリの.pgpassは、接続にパスワードが必要な場合(かつ、他に指定されたパスワードが無かった場合)に使用するパスワードを格納するファイルです。 +Unixシステムでは、このディレクトリはHOME環境変数で指定でき、定義されていない場合は実効ユーザのホームディレクトリが指定されます。 +Microsoft Windowsでは、このファイルの名前は%APPDATA%\postgresql\pgpass.conf(ここで%APPDATA%はユーザのプロファイル内のアプリケーションデータディレクトリ)です。 他に、接続パラメータを利用するか、環境変数PGPASSFILEで、パスワードファイルを指定できます。 -《機械翻訳》ファイル.pgpassユーザのホームディレクトリ内には、コネクションがパスワードを必要とする場合(および他にパスワードが指定されていない場合)に使用されるパスワードを含めることができます。 -Unixシステムでは、ディレクトリはHOME環境変数で指定するか、未定義の場合は有効なユーザのホームディレクトリで指定できます。 -Microsoft Windowsでは、ファイルは記名的%APPDATA%\postgresql\pgpass.conf %APPDATA%はユーザのプロファイル内のアプリケーションデータディレクトリを参照します。 -または、コネクションパラメータまたは環境変数PGPASSFILEを使用して、使用するパスワードファイルを指定できます。 @@ -13581,14 +13530,10 @@ Microsoft Windowsにおいては、このファイルが安全なディレクト a recompile of the libpq-using application. The service name can also be specified using the PGSERVICE environment variable. --> -《マッチ度[86.652542]》接続サービスファイルにより、libpq接続パラメータをひとつのサービス名に関連付けることができます。 -サービス名は、libpq接続文字列によって指定され、関連付けられた設定が利用されます。 -これは、接続パラメータをlibpqを使用するアプリケーションの再コンパイルをせずに修正できるというものです。 -サービス名はPGSERVICE環境変数を利用することで使用できます。 -《機械翻訳》接続サービスファイルを使用すると、libpqコネクションパラメータを単一のサービス名前に関連付けることができます。 -そのサービス名前は、libpqコネクション文字列でserviceキーワードを使用して指定でき、関連付けられた設定が使用されます。 -これにより、libpqを使用するアプリケーションを再コンパイルせずにコネクションパラメータを変更できます。 -サービス名前は、PGSERVICE環境変数を使用して指定することもできます。 +接続サービスファイルにより、libpq接続パラメータをひとつのサービス名に関連付けることができます。 +サービス名は、libpq接続文字列のserviceキーワードを使用して指定することができ、関連付けられた設定が使用されます。 +これにより、libpqを使用するアプリケーションの再コンパイルをしなくても、接続パラメータを変更できます。 +サービス名はPGSERVICE環境変数を使用して指定することもできます。 @@ -13971,13 +13916,10 @@ PostgreSQLの以前のバージョンとの後方互換性のために、ホス and applications that need certificate validation should always use verify-ca or verify-full. --> -《マッチ度[89.120370]》より古いバージョンのPostgreSQLとの後方互換性のために、ルートCAファイルが存在する場合、sslmode=requireの動作はverify-caの場合と同じになっています。 +より古いバージョンのPostgreSQLとの後方互換性のために、ルートCAファイルが存在する場合、sslmode=requireの動作はverify-caの場合と同じになっています。 つまり、サーバ証明書がCAに対して検証されます。 この動作に依存することは勧めません。 また証明書の検証を必要とするアプリケーションは常にverify-caまたはverify-fullを使用すべきです。 -《機械翻訳》以前のバージョンの互換性との後方PostgreSQLでは、ルートCAファイルが存在する場合、sslmode=requireの動作はverify-caの動作と同じになります。 -つまり、サーバ証明書は認証局に対して検証されます。 -この動作に依存することは推奨されず、証明書バリデーションを必要とするアプリケーションは常にverify-caまたはverify-fullを使用する必要があります。 @@ -14506,21 +14448,17 @@ libpqにおいて、sslmodeパラメータをverify- However, this is unnecessary when using OpenSSL version 1.1.0 or later, as duplicate initializations are no longer problematic. --> -《マッチ度[65.374677]》使用するアプリケーションがlibssllibcryptoの両方またはいずれか一方のライブラリを初期化し、libpqSSLサポート付きで構築された場合、libssllibcryptoの両方またはいずれか一方のライブラリはアプリケーションによって初期化されたことをlibpqに伝えるためを呼び出さなければなりません。 +OpenSSLバージョン1.0.2以前を使用する古いバージョンのPostgreSQLとの互換性が必要なアプリケーションは、SSLライブラリを使用する前にSSLライブラリを初期化する必要があります。 +libssllibcryptoの両方またはいずれか一方のライブラリを初期化するアプリケーションは、を呼び出して、libssllibcryptoの両方またはいずれか一方のライブラリがアプリケーションによって初期化されたことをlibpqに伝える必要があります。 これにより、libpqはこれらのライブラリを初期化しなくなります。 ただし、OpenSSLバージョン1.1.0以降を使用している場合は、重複の初期化に問題がなくなるため、これは不要です。 -《機械翻訳》古いバージョンのPostgreSQLOpenSSLバージョン1.0.2以前を使用していると互換性を持つ必要があるアプリケーションは、それを使用してSSLライブラリ前を初期化する必要があります。 -および/またはlibcryptoライブラリは、libsslおよび/またはlibcryptoライブラリがあなたのアプリケーションによって初期化されたことをlibpqに伝えるために呼び出しを行う必要があります。 -そうすればlibpqもそれらのライブラリを初期化することはありません。 -しかしOpenSSLバージョン1.1.0以降を使用している場合は、重複初期化に問題がないため、これは不要です。 -libssl -《機械翻訳》PostgreSQLあなたが対象としているの文書については、そのバージョンを参照してください。 +使用方法の詳細については、対象とするPostgreSQLのバージョンの文書を参照してください。 @@ -14544,8 +14482,7 @@ void PQinitOpenSSL(int do_ssl, int do_crypto); This function is deprecated and only present for backwards compatibility, it does nothing. --> -《機械翻訳》この関数は廃止予定であり、以前の互換性にのみ存在します。 -何もしません。 +この関数は廃止予定であり、後方互換性のためにのみ存在し、何もしません。 @@ -14569,20 +14506,22 @@ void PQinitSSL(int do_ssl); This function is deprecated and only present for backwards compatibility, it does nothing. --> -《機械翻訳》この関数はPQinitOpenSSL(do_ssl, do_ssl).この関数は廃止予定であり、以前の互換性のためだけに存在し、何もしません。 +この関数はPQinitOpenSSL(do_ssl, do_ssl)と同等です。 +この関数は廃止予定であり、後方互換性のためにのみ存在し、何もしません。 + +は下位互換性のために保守されていますが、PostgreSQL 18以降では必要なくなりました。 PostgreSQL 8.0以降、は含まれていますが、PostgreSQL 8.4で追加されました。 従って、旧バージョンのlibpqで動かす必要があるアプリケーションではの方が好ましいかもしれません。 @@ -14595,7 +14534,10 @@ void PQinitSSL(int do_ssl); + + OAuthサポート -《機械翻訳》libpqRFC 8628に記載されている、OAuth v2サポート認証のためのデバイスをクライアントモジュールとして実装しています。 -組み込みフローとしてデバイス認証のためのサポートを有効にする方法については、インストール文書を参照してください。 -オプショナルフロー +libpqは、RFC 8628に記載されているOAuth v2デバイス認証クライアントフローのサポートを、オプションのモジュールとして実装しています。 +組み込みフローとしてデバイス認証のサポートを有効にする方法については、インストール文書を参照してください。 -《機械翻訳》サポートが有効でオプショナルモジュールがインストールされている場合、フロー中にデフォルトがベアラトークンを要求すると、libpqは組み込みのサーバby認証を使用します。 -このフローは、クライアントアプリケーションを実行しているシステムに使用可能なWebブラウザがない場合でも、SSH経由でクライアントを実行している場合の例に使用できます。 +サポートが有効化されておりオプションのモジュールがインストールされている場合、認証中にサーバがベアラトークンを要求すると、libpqはデフォルトで組み込みフローを使用します。 +このフローは、たとえばSSH経由でクライアントを実行している場合など、クライアントアプリケーションを実行しているシステムに使用可能なWebブラウザがない場合でも利用できます。 -《機械翻訳》組み込みのフローでは、デフォルト、プリント別に、訪問するURLと、そこに入力するユーザコードが表示されます。 +組み込みフローでは、デフォルトでアクセス先のURLとそこで入力するユーザコードを表示します。 $ psql 'dbname=postgres oauth_issuer=https://example.com oauth_client_id=...' Visit https://example.com/device and enter the code: ABCD-EFGH @@ -14641,10 +14582,10 @@ Visit https://example.com/device and enter the code: ABCD-EFGH they match expectations, before continuing. Permissions should not be given to untrusted third parties. --> -《機械翻訳》(このプロンプトはカスタマイズされている可能性があります。) -その後、ユーザはログをOAuthプロバイダに入れ、libpqとサーバが彼らに代わってアクションを実行することを許可するかどうかを尋ねます。 -表示されたURLと権限を慎重にレビューし、保証に期待をマッチさせ、前を続けることは、常に良いアイディアです。 -信頼できないサードパーティに権限を与えるべきではありません。 +(このプロンプトはカスタマイズされているかもしれません。) +ユーザがOAuthプロバイダにログインすると、OAuthプロバイダはlibpqとサーバがユーザの代わりにアクションを実行することを許可するかどうかを尋ねます。 +続行する前に、表示されたURLと権限を注意深く確認し、期待通りであることを確認することをお勧めします。 +信頼できない第三者に許可を与えてはいけません。 -《機械翻訳》クライアントアプリケーションは、カスタマイズとの対話およびアプリケーションとの統合に独自のフローを実装する場合があります。 -カスタムフローをlibpqに追加する方法の詳細は、を参照してください。 +クライアントアプリケーションは、独自のフローを実装してアプリケーションとの対話や統合をカスタマイズできます。 +libpqに独自のフローを追加する方法の詳細については、を参照してください。 -《機械翻訳》OAuthクライアントフローを使用するには、コネクション文字列に少なくともが含まれている必要があります。 -(これらの設定は、組織のOAuthプロバイダによって決定されます。) -組み込みのフローには、デバイス認証エンドポイントをパブリッシュするためのOAuth認証サーバも必要です。 +OAuthクライアントフローを使用できるようにするには、接続文字列に少なくともが含まれている必要があります。 +(これらの設定は、利用者の組織のOAuthプロバイダによって決定されます。) +さらに組み込みフローでは、OAuth認証サーバがデバイス認証エンドポイントを公開する必要があります。 @@ -14675,21 +14616,23 @@ Visit https://example.com/device and enter the code: ABCD-EFGH The builtin Device Authorization flow is not currently supported on Windows. Custom client flows may still be implemented. --> -《機械翻訳》組み込みのデバイス許可フローは現在、Windowsではサポートされていません。 -カスタムクライアントフローはまだ実装されている可能性があります。 +組み込みデバイス認証フローは、現在Windowsではサポートされていません。 +カスタムクライアントフローは引き続き実装できます。 + + 認証データフック -《機械翻訳》OAuthフローの動作は、次のクライアントAPIを使用して変更またはフックに置き換えることができます。 - +OAuthフローの動作は、次のフックAPIを使用するクライアントにより変更または置き換えることができます。 PQsetAuthDataHookPQsetAuthDataHook @@ -14701,7 +14644,7 @@ Visit https://example.com/device and enter the code: ABCD-EFGH libpq's handling of one or more aspects of its OAuth client flow. --> -《機械翻訳》OAuthハンドリングフローの1つ以上のアスペクトのPGauthDataHook,overriding libpqのクライアントを設定します。 +PGauthDataHookを設定し、libpqによるOAuthクライアントフローの1つ以上の処理を上書きします。 void PQsetAuthDataHook(PQauthDataHook_type hook); @@ -14710,8 +14653,8 @@ void PQsetAuthDataHook(PQauthDataHook_type hook); default handler will be reinstalled. Otherwise, the application passes a pointer to a callback function with the signature: --> -《機械翻訳》フックNULLの場合、デフォルトハンドラは再インストールされます。 -それ以外の場合、アプリケーションはポインタをシグネチャ:とともにコールバック機能に渡します。 +hookNULLの場合、デフォルトのハンドラが再インストールされます。 +それ以外の場合、アプリケーションは次のシグネチャを持つコールバック関数へのポインタを渡します。 int hook_fn(PGauthData type, PGconn *conn, void *data); @@ -14725,10 +14668,10 @@ int hook_fn(PGauthData type, PGconn *conn, void *data); for the supported list. --> -《機械翻訳》このlibpqは、アプリケーションに対してアクションが要求されたときに呼び出しを行います。 -typeは作成されるリクエストを記述し、connは認証されるコネクションハンドルであり、dataはリクエスト固有のメタデータを指します。 -このポインタの内容はtypeによって決定されます。 -サポートされるリストについてはを参照してください。 +これは、アプリケーションでアクションが必要なときにlibpqが呼び出すものです。 +typeはリクエストの種類を示し、connは認証中の接続ハンドルを示し、dataはリクエスト固有のメタデータを指します。 +このポインタの内容はtypeによって決まります。 +サポートされている一覧についてはを参照してください。 -《機械翻訳》フックは、連携動作や代替動作を可能にするために連鎖させることができます。 -一般に、フック実装は、特定のauthdataをハンドルするかどうかを決定するために、着信タイプを調べる必要があります(場合によっては、リクエストメタデータや、使用中の特定のconnの設定も調べる必要があります)。 -そうでない場合は、チェーン内の前のフックに委任する必要があります(PQgetAuthDataHookを使用して取得可能)。 +フックをつなぎ合わせることで、連携動作や代替動作を実現できます。 +一般的に、フックの実装では、入力のtype(および、場合によってはリクエストのメタデータや使用中のconnの設定)を調べて、特定の認証データを処理するかどうかを判断する必要があります。 +処理しない場合は、チェーン内の前のフック(PQgetAuthDataHook経由で取得可能)に委任する必要があります。 -《機械翻訳》成功は、整数より大きいゼロを戻すことで示されます。 -負の整数を戻すと、エラー条件が通知され、コネクション試行が中止されます(デフォルト実装のゼロ値は予約です)。 +0より大きい整数を返すと、成功していることを示します。 +負の整数を返すとエラー状態であることを示しており、接続試行が中止されます。 +(デフォルトの実装では0の値は予約されています。) @@ -14765,7 +14709,7 @@ int hook_fn(PGauthData type, PGconn *conn, void *data); -《機械翻訳》現在のPGauthDataHook. +現在のPGauthDataHookの値を取得します。 PQauthDataHook_type PQgetAuthDataHook(void); @@ -14774,7 +14718,7 @@ PQauthDataHook_type PQgetAuthDataHook(void); PQsetAuthDataHook), this function will return PQdefaultAuthDataHook. --> -《機械翻訳》初期設定時にPQsetAuthDataHook前はへの最初の呼び出しで、この関数は結果PQdefaultAuthDataHook。 +初期化時(PQsetAuthDataHookを最初に呼び出す前)には、この関数はPQdefaultAuthDataHookを返します。 @@ -14782,14 +14726,16 @@ PQauthDataHook_type PQgetAuthDataHook(void); + + フック型 -《機械翻訳》以下のPGauthData型とそれに対応するdata構造体が定義されています。 - +次のPGauthData型とそれに対応するdata構造体が定義されています。 @@ -14803,16 +14749,23 @@ PQauthDataHook_type PQgetAuthDataHook(void); authorization client flow. data points to an instance of PGpromptOAuthDevice: --> -《機械翻訳》組み込みデフォルト許可クライアントプロンプト中にユーザフローデバイスを置き換えます。 -dataPGpromptOAuthDevice:のインスタンスを指します。 +組み込みデバイス認証クライアントフロー中の、デフォルトのユーザプロンプトを置き換えます。 +dataPGpromptOAuthDeviceのインスタンスを指しています。 typedef struct _PGpromptOAuthDevice { + + const char *verification_uri; /* アクセスする検証URI */ + const char *user_code; /* 入力するユーザコード */ + const char *verification_uri_complete; /* URIとコードのオプションの組み合わせ、 + * またはNULL */ + int expires_in; /* ユーザコードの有効期限が切れるまでの秒数 */ } PGpromptOAuthDevice; @@ -14828,9 +14781,9 @@ typedef struct _PGpromptOAuthDevice on standard error. Replacement implementations may display this information using any preferred method, for example with a GUI. --> -《機械翻訳》libpq含めることができるOAuthデバイス認証フローは、エンドユーザがブラウザのあるURLにアクセスし、libpqがサーバに接続することを許可するコードを入力する必要があります。 -デフォルトプロンプトは、単にverification_uriおよびuser_code標準エラーのを出力します。 -置換実装では、GUIのある例に対して、任意の優先メソッドを使用してこの情報をディスプレイする場合があります。 +libpq含めることができるOAuthデバイス認証フローでは、エンドユーザがブラウザでURLにアクセスし、libpqがユーザに代わってサーバに接続することを許可するコードを入力する必要があります。 +デフォルトのプロンプトは、標準エラーにverification_uriuser_codeを出力するだけです。 +代替の実装では、この情報をGUIなど好みの方法を使用して表示することができます。 -《機械翻訳》このコールバックは、組み込みのデバイス許可フロー中にのみ呼び出されます。 -アプリケーションがカスタムOAuthフローをインストールする場合、またはlibpq組み込みのフロー用にサポートで構築されていない場合、このauthdataタイプは使用されません。 +このコールバックは、組み込みデバイス認証フロー中にのみ呼び出されます。 +アプリケーションがカスタムOAuthフローをインストールしている場合や、libpqが組み込みフローをサポートするようにビルドされていない場合、この認証データ型は使用されません。 -《機械翻訳》非NULL verification_uri_completeが提供されている場合は、オプションで非テキストの確認例の場合はQRコードの表示に使用できます。 -コードはプロバイダによって手動で確認されるため、URLとユーザコードはこのケースのエンドユーザに表示される必要があります。 -URLを使用すると、ユーザは非テキストメソッドを使用できない場合でも続行できます。 -詳細は、RFC 8628のセクション3.3.1を参照してください。 +非NULLのverification_uri_completeが提供されている場合は、テキスト以外の検証(QRコードの表示など)にも使用できます。 +この場合でも、URLとユーザコードは引き続きエンドユーザに表示する必要があります。 +これは、そのコードがプロバイダによって手動で確認されるため、またユーザがテキスト以外の方法を使用できない場合でもURLを使用して続行できるようにするためです。 +詳細については、RFC 8628のセクション3.3.1を参照してください。 @@ -14876,8 +14829,8 @@ URLを使用すると、ユーザは非テキストメソッドを使用でき user/issuer/scope combination, if one is available without blocking, or else set up an asynchronous callback to retrieve one. --> -《機械翻訳》フローのカスタム実装を追加し、組込みフローインストールされている場合を置き換えます。 -フックは、ブロッキングなしで使用可能な場合は、現在ユーザ/発行者/スコープの組合せのベアラトークンを直接結果するか、それを取得するための非同期コールバックを設定する必要があります。 +独自実装したフローを追加し、組み込みフローがインストールされている場合はそれを置き換えます。 +フックは、ブロッキングなしで使用可能な場合は現在のユーザ/発行者/スコープの組み合わせのベアラトークンを直接返すか、それ以外の場合は非同期コールバックを設定してベアラトークンを取得する必要があります。 -《機械翻訳》dataPGoauthBearerRequestのインスタンスを指し、これは実装:によって記入されるべきである。 +dataPGoauthBearerRequestのインスタンスを指しています。 +このインスタンスは実装側で入力する必要があります。 typedef struct PGoauthBearerRequest { + + /* フックの入力(全ての呼び出しで一定) */ + const char *openid_configuration; /* OIDCディスカバリーURL */ + const char *scope; /* 必要なスコープ、またはNULL */ + + /* フックの出力 */ + + /* カスタム非同期OAuthフローを実装するコールバック。 */ PostgresPollingStatusType (*async) (PGconn *conn, struct PGoauthBearerRequest *request, SOCKTYPE *altsock); - + + /* カスタム割り当てをクリーンアップするためのコールバック。 */ void (*cleanup) (PGconn *conn, struct PGoauthBearerRequest *request); - + + char *token; /* 取得したベアラトークン */ + void *user; /* フックで定義される割り当てデータ */ } PGoauthBearerRequest; @@ -14922,10 +14890,10 @@ typedef struct PGoauthBearerRequest the requirements using some other preconfigured knowledge, or they may choose to fail.) --> -《機械翻訳》次の2つの情報がlibpqによってフックに提供されます。 -openid_設定包含は、認可サーバがサポートするフローを記述するOAuthディスカバリドキュメントのURLであり、スコープ包含は、サーバをアクセス化するために必要なOAuthスコープのスペースで区切られた(空の場合もある)リストです。 -いずれかまたは両方がNULL情報が検出できなかったことを示すためである可能性があります。 -(このケースでは、実装は他の事前設定された知識を使用して要件を確立できる場合もあれば、失敗することを選択する場合もあります。) +libpqでは、このフックで2つの情報を提供しています。 +openid_configurationには、認証サーバがサポートするフローを説明するOAuthディスカバリー文書のURLが含まれ、scopeには、サーバへのアクセスに必要なOAuthスコープの一覧(空の場合もあります)がスペースで区切られて含まれています。 +どちらか一方または両方がNULLの場合は、情報が検出できなかったことを示します。 +(この場合、実装側で事前に設定された他の知識を使用して要件を確立できる場合もあれば、失敗を選択する場合もあります。) -《機械翻訳》フックの最終出力はtokenです。 -これは、コネクションで使用するために有効なベアラトークンにポイントする必要があります。 +フックの最終出力はtokenであり、これは接続で使用できる有効なベアラトークンを指している必要があります。 (このトークンはによって発行され、要求されたスコープを保持する必要があります。 -そうしないと、コネクションはサーバのバリデータモジュールによって拒否されます。) -割り当てられたトークン文字列は、libpqが接続を完了するまで有効である必要があります。 -フックは、libpq必要としなくなったときに呼び出されるコールバックを設定する必要があります。 -cleanup +そうしないと、サーバの検証モジュールによって接続が拒否されます。) +割り当てられたトークン文字列は、libpqが接続を終了するまで有効なままでなければなりません。 +フックは、libpqが接続を必要としなくなったときに呼び出されるcleanupコールバックを設定する必要があります。 + +実装上フックの最初の呼び出し中にすぐにtokenを生成できない場合は、認証サーバとの非ブロッキング通信を処理するように非同期コールバックを設定する必要があります。 -《機械翻訳》PQAUTHDATA_OAUTH_BEARER_TOKENのブロッキング中にフック操作を実行すると、PQconnectPollなどの非ブロッキング接続APIに干渉し、同時接続が進行しなくなります。 -PQconnectdbなどの同期的コネクションプリミティブのみを使用するアプリケーションは、asyncコールバックを実装するフック代わり中にトークンを同期的に取得できますが、一度に取得できるコネクションは1つに制限されます。 +PQAUTHDATA_OAUTH_BEARER_TOKENフックコールバック中にブロッキング操作を実行すると、PQconnectPollなどの非ブロッキングな接続APIが妨害され、同時接続の進行が妨げられます。 +PQconnectdbのように同期接続プリミティブのみを使用するアプリケーションでは、asyncコールバックを実装する代わりにフック中にトークンを同期的に取得できますが、一度に1つの接続に制限される必要があります。 + +これは、フックから戻るとすぐにフローを開始するために呼び出されます。 +コールバックがブロッキングなしでこれ以上先に進めない場合は、*pgsocketに、処理が再開できるようになったときに読み取り/書き込みの準備完了と印付けられるファイルディスクリプタを設定した後、PGRES_POLLING_READINGまたはPGRES_POLLING_WRITINGのいずれかを返す必要があります。 +(その後、このディスクリプタはPQsocket()を介して最上位のポーリングループに提供されます。) +フローが完了したらtokenを設定した後にPGRES_POLLING_OKを返し、失敗した場合はPGRES_POLLING_FAILEDを返します。 -《機械翻訳》実装によっては、asyncおよびcleanup callbacks. userデータはこの目的のために提供されています。 -libpqはその内容に触れることはなく、ポインタは都合のよいときにそれを使用することができます。 -アプリケーションクリーンアップ中に割り当てられたものをフリーすることを忘れないでください。 -への呼び出し全体にわたって簿記のために追加のトークンを格納することを望む場合があります。 +実装によっては、asyncコールバックとcleanupコールバックの呼び出しをまたぐ情報に対し、追加のデータを格納したい場合があります。 +userポインタはこの目的のために提供されています。 +libpqはその内容に触れることはなく、アプリケーションは都合の良いときにこの追加のデータを使用できます。 +(トークンのクリーンアップ中に割り当てを解放することを忘れないでください。) @@ -15004,7 +14979,10 @@ typedef struct PGoauthBearerRequest + + デバッグと開発者用の設定 -《機械翻訳》「危険なデバッグモード」は、環境変数PGOAUTHDEBUG=UNSAFEを設定することで有効にできます。 -この機能は、ローカルの開発とテストを容易にするためにのみ提供されています。 +環境変数PGOAUTHDEBUG=UNSAFEを設定することで、「危険なデバッグモード」を有効にできます。 +この機能は、ローカルでの開発とテストを容易にするためにのみ提供されています。 この機能は、本番システムでは実行したくないいくつかのことを実行します。 @@ -15023,7 +15001,7 @@ typedef struct PGoauthBearerRequest -《機械翻訳》は、OAuthプロバイダの交換中に暗号化されていないHTTPの使用を許可します。 +OAuthプロバイダの交換中に暗号化されていないHTTPを使用することを許可します @@ -15032,7 +15010,7 @@ typedef struct PGoauthBearerRequest allows the system's trusted CA list to be completely replaced using the PGOAUTHCAFILE environment variable --> -《機械翻訳》PGOAUTHCAFILEリストを使用して、このシステムのカリフォルニア州トラステッド環境変数を完全に置き換えることができます。 +PGOAUTHCAFILE環境変数を使用して、システムの信頼するCAリストを完全に置き換えることができます @@ -15041,7 +15019,7 @@ typedef struct PGoauthBearerRequest prints HTTP traffic (containing several critical secrets) to standard error during the OAuth flow --> -《機械翻訳》はOAuthトラフィック中にHTTPフロー(いくつかの重要な秘密情報を含む)を標準エラーに出力する。 +OAuthフロー中にHTTPトラフィック(いくつかの重要なシークレットを含む)を標準エラーに出力します @@ -15050,8 +15028,8 @@ typedef struct PGoauthBearerRequest permits the use of zero-second retry intervals, which can cause the client to busy-loop and pointlessly consume CPU --> -《機械翻訳》では、ゼロ秒のリトライ間隔を使用できます。 -これにより、クライアントがビジー-ループになり、CPU使用率が無意味に消費される可能性があります。 +0秒の再試行間隔の使用を許可します。 +これにより、クライアントはビジーループ状態になり、CPUを無意味に消費する可能性があります @@ -15062,8 +15040,8 @@ typedef struct PGoauthBearerRequest Do not share the output of the OAuth flow traffic with third parties. It contains secrets that can be used to attack your clients and servers. --> -《機械翻訳》OAuthフロートラフィックの出力を第三者と共有しないでください。 -クライアントやサーバを攻撃するために使用できる包含シークレットです。 +OAuthフロートラフィックの出力を第三者と共有しないでください。 +クライアントやサーバを攻撃するために使用できるシークレットが含まれています。 @@ -15190,9 +15168,9 @@ int PQisthreadsafe(); initialization; those builds can be identified by the advertisement of a threadsafe feature in their version metadata. --> -《機械翻訳》同様に、アプリケーション内でCurlを使用している場合、そしてまだlibcurlをグローバルにしていない場合、前で新しいスレッドを開始するには、libcurlを初期化する可能性のあるコードの周囲を(PQregisterThreadLockを介して)協調的にロックする必要があります。 -この制限は、サポートスレッドセーフ初期設定にビルドされたCurlのより新しいバージョンで解除されます。 -これらのビルドは、バージョンメタデータでthreadsafe機能をアドバタイズすることで識別できます。 +同様に、アプリケーション内でCurlを使用していて、かつ新しいスレッドを開始する前にlibcurlをグローバルに初期化していない場合は、libcurlを初期化する可能性のあるコードを(再度PQregisterThreadLock経由で)協調してロックする必要があります。 +この制限は、スレッドセーフな初期化をサポートするように構築されたCurlの最近のバージョンでは解除されています。 +これらのビルドは、バージョンメタデータにthreadsafe機能が記載されているかどうかで識別できます。 From 4fe6579be35833cb708d9767599d9523b7eba05b Mon Sep 17 00:00:00 2001 From: Higuchi Daisuke <20634318+higuchi-daisuke@users.noreply.github.com> Date: Tue, 20 Jan 2026 11:53:51 +0000 Subject: [PATCH 2/4] Update doc/src/sgml/libpq[0/2/3].sgml for 18.0. --- doc/src/sgml/libpq0.sgml | 193 ++++++++++++++---------------- doc/src/sgml/libpq2.sgml | 59 +++------- doc/src/sgml/libpq3.sgml | 246 ++++++++++++++++++++++----------------- 3 files changed, 238 insertions(+), 260 deletions(-) diff --git a/doc/src/sgml/libpq0.sgml b/doc/src/sgml/libpq0.sgml index bef0b408005..fe76dfba337 100644 --- a/doc/src/sgml/libpq0.sgml +++ b/doc/src/sgml/libpq0.sgml @@ -556,19 +556,12 @@ PostgresPollingStatusType PQconnectPoll(PGconn *conn); indicate the current stage of the connection procedure and might be useful to provide feedback to the user for example. These statuses are: --> -《マッチ度[89.209726]》接続している間は、いつでもを呼び出すことで、接続の状態を検査することができます。 +接続している間は、を呼び出すことで、いつでも接続の状態を検査することができます。 この関数呼び出しがCONNECTION_BADを返す場合、接続手続きは失敗しており、CONNECTION_OKを返す場合、接続が確立しています。 上述のように、このいずれの状態も、PQconnectPollの戻り値から同様に検出できます。 -これ以外の状態は、非同期の接続手続きの間(のみに)現れることがあります。 +これ以外の状態は、非同期の接続手続きの間(のみ)に現れることがあります。 これらは、接続手続きの現在の段階を示すものであり、例えばユーザへのフィードバックを提供することに使用できます。 以下の状態があります。 -《機械翻訳》コネクションのステータスは、コネクション中いつでもに電話して確認できます。 -この呼び出しがCONNECTION_BADを戻す場合、コネクションプロシージャは失敗しています。 -呼び出しがCONNECTION_OKを戻す場合、コネクションは準備完了です。 -これらの状態は両方とも、前述のPQconnectPollの戻り値から同様に検出できます。 -他の状態も非同期通信方式プロシージャの間(およびその間のみ)発生する場合があります。 -これらはコネクションプロシージャの現在ステージを示し、例のためにユーザにフィードバックを提供する場合に役立ちます。 -これらのステータスは次のとおりです。 @@ -788,17 +781,12 @@ int PQsocketPoll(int sock, int forRead, int forWrite, Note that the underlying system calls may have less than microsecond precision, so that the actual delay may be imprecise. --> -《マッチ度[86.171761]》タイムアウトはend_timeで指定され、これは、Unixエポックからのマイクロ秒数で表される待機を停止する時間です(つまり、time_t×100万)。 +タイムアウトはend_timeで指定されます。 +これは、Unixエポックからのマイクロ秒数で表される、待機を停止する時間です(つまり、time_t×100万)。 end_time-1の場合、タイムアウトは無限になります。 -end_timeが0の場合、タイムアウトは即時(ブロッキングなし)です(実際には、現在時刻の前の任意の時刻でも構いません)。 +end_time0の場合、タイムアウトは即時(ブロッキングなし)です(実際には、現在時刻の前の任意の時刻でも構いません)。 タイムアウト値は、の結果に所望のマイクロ秒数を加えることによって容易に計算できます。 使用しているシステムコールの精度はマイクロ秒より劣っていることがあり、実際の遅延は不正確である可能性があることに注意してください。 -《機械翻訳》タイムアウトはend_timeで指定されます。 -これは、Unixエポックからの待機を停止する時間をマイクロ秒単位で表したものです(つまり、time_tに100万を掛けたものです。 -end_time-1の場合、タイムアウトは無限です。 -end_time0の場合、タイムアウトは即時(ブロッキングなし)です(または、現在の前の任意の時間です)。 -タイムアウトの値は、の結果に必要なマイクロ秒数を加算することで簡単に計算できます。 -ノートは、基礎となるシステムコールがより小さいマイクロ秒の精度を持つ可能性があるため、実際の遅延は不正確になる可能性があります。 @@ -1956,7 +1944,7 @@ Windowsでは、localhostへの接続を試みます。 for details about migrating to another password type. --> -《機械翻訳》MD5で暗号化されたパスワードのサポートは非推奨となり、将来のPostgreSQLのリリースで削除されます。 +MD5で暗号化されたパスワードのサポートは非推奨となり、将来のPostgreSQLのリリースで削除されます。 他のパスワードタイプへの移行の詳細については、を参照してください。 @@ -2011,7 +1999,7 @@ Windowsでは、localhostへの接続を試みます。 -《機械翻訳》サーバは、クライアントからOAuthベアラトークンをリクエストする必要がある。 +サーバはクライアントにOAuthベアラ(bearer)トークンを要求しなければなりません。 @@ -2654,11 +2642,8 @@ SSLサポート付きでPostgreSQLをコンパイル authentication when the server does not support direct SSL handshake. --> -《マッチ度[71.777003]》TCP/IPハンドシェイクを確立した後に直接SSL接続を開始します。 -弱い設定では、サーバがSSL認証をサポートしない場合に、意図しないプレーンテキストハンドシェイクへのフォールバックが発生する可能性があるため、sslmode=require以上の場合にのみ許可されます。 -《機械翻訳》TCP/IPハンドシェイクを確立した直後のスタートSSLコネクション。 -これはsslmode=requireまたはそれ以上でのみ許可されます。 -これは、サーバがSSL認証をサポートダイレクトしない場合に、設定が弱いとプレーンテキストハンドシェイクへの意図しないフォールバックが発生する可能性があるためです。 +TCP/IP接続を確立した後に直接SSLハンドシェイクを開始します。 +弱い設定では、サーバが直接SSLハンドシェイクをサポートしない場合に、意図しないプレーンテキストハンドシェイクへのフォールバックが発生する可能性があるため、sslmode=require以上の場合にのみ許可されます。 @@ -2763,10 +2748,10 @@ SSL接続が確立していない場合このパラメータは無視されま logging). Keys are logged using the NSS format. --> -《機械翻訳》このパラメータは、libpqログキーがこのSSLコンテキストで使用される場所を指定します。 -これは、デバッグPostgreSQLWiresharkなどのプロトコル検査ツールを使用したクライアント相互作用またはネットワーク接続に役立ちます。 -SSLコネクションが作成されていない場合、またはLibreSSLが使用されている場合(LibreSSLはサポートキーロギングではありません)、このパラメータは無視されます。 -キーはNSSフォーマットを使用してログに記録されます。 +このパラメータは、libpqがこのSSLコンテキストで使用されるキーを記録する場所を指定します。 +これは、Wiresharkなどのネットワーク検査ツールを使用してPostgreSQLプロトコルの相互作用やクライアント接続をデバッグする場合に役立ちます。 +SSL接続が確立されていない場合、またはLibreSSLが使用されている場合(LibreSSLはキーの記録をサポートしていません)、このパラメータは無視されます。 +キーはNSS形式を使用して記録されます。 -《機械翻訳》キーロギングでは、キーログファイル内の機密情報が公開される可能性があります。 -キーログファイルはファイルと同じように注意して取り扱う必要があります。 +キーを記録することで、キーの記録ファイル内に潜在的に機密性の高い情報が公開されることになります。 +キーの記録ファイルはファイルと同様に注意して扱う必要があります。 @@ -2802,8 +2787,7 @@ SSLコネクションが作成されていない場合、またはL when an encrypted client certificate key is provided to libpq. --> -《マッチ度[78.867925]》空でない値でこのパラメータを指定することで、暗号化されたクライアント証明書キーがlibpqに供給されるときにOpenSSLがデフォルトで出すEnter PEM pass phrase:プロンプトを抑止します。 -《機械翻訳》このパラメータに空でない値を指定すると、暗号化されたクライアント認証プロンプトがlibpqに提供されるときに、OpenSSLがデフォルトによって発行するEnter PEM pass phrase:キーが抑制されます。 +このパラメータに空でない値を指定することで、暗号化されたクライアント証明書キーがlibpqに提供されるときにOpenSSLがデフォルトで出力するEnter PEM pass phrase:プロンプトを抑止します。 -《機械翻訳》コネクションの最小プロトコルバージョンを指定します。 -デフォルトは、PostgreSQLlibpqがサポートするバージョン、現在は3.0を意味します。 -サーバが少なくともこのプロトコルバージョンをサポートしない場合、コネクションは閉じたになります。 -プロトコル +接続で許容されるプロトコルの最小バージョンを指定します。 +デフォルトではlibpqがサポートする任意のバージョンのPostgreSQLプロトコル(現在は3.0)を許可します。 +サーバが少なくともこのプロトコルバージョンをサポートしていない場合、接続は閉じられます。 @@ -3151,8 +3134,8 @@ Unixドメインソケット接続を確立する時に、このパラメータ equivalent to the latest protocol version supported by the libpq version being used, which is currently 3.2. --> -《機械翻訳》サポートされている現在の値は、3.03.2、およびlatestです。 -latestの値は、現在使用されているlibpqバージョンでサポートされている最新のプロトコルバージョン3.2に相当します。 +現在サポートされている値は、3.03.2、およびlatestです。 +latestの値は、使用されているlibpqのバージョンでサポートされている最新のプロトコルバージョンと同等であり、現在は3.2です。 @@ -3173,10 +3156,11 @@ Unixドメインソケット接続を確立する時に、このパラメータ completed you can use to find out which exact protocol version was negotiated. --> -《機械翻訳》サーバからリクエストまでのプロトコルバージョンを指定します。 -デフォルトはPostgreSQLプロトコルのバージョンを使用します3.0ただし、コネクション文字列が上位のプロトコルバージョンに依存する機能を指定し、libpqがサポートする最新のバージョンが使用されるケースを指定する場合は除きます。 -サーバがクライアントから要求されたプロトコルバージョンをサポートしない場合、コネクションはサーバがサポートする下位のマイナープロトコルバージョンに自動的にダウングレードされます。 -コネクションの試行が完了した後、を使用してどのプロトコルバージョンがネゴシエートされたかを調べることができます。 +サーバが要求するプロトコルバージョンを指定します。 +デフォルトではPostgreSQLプロトコルのバージョン3.0が使用されます。 +ただし、より上位のプロトコルバージョンに依存する機能が接続文字列に指定されている場合は、libpqがサポートする最新バージョンが使用されます。 +クライアントが要求するプロトコルバージョンをサーバがサポートしていない場合、その接続は、サーバがサポートしている、より低いプロトコルバージョンに自動的にダウングレードされます。 +接続試行が完了したら、を使用することで、どのプロトコルバージョンで調停したかを確認できます。 @@ -3187,8 +3171,8 @@ Unixドメインソケット接続を確立する時に、このパラメータ equivalent to the latest protocol version supported by the libpq version being used, which is currently 3.2. --> -《機械翻訳》サポートされている現在の値は、3.03.2、およびlatestです。 -latestの値は、現在使用されているlibpqバージョンでサポートされている最新のプロトコルバージョン3.2に相当します。 +現在サポートされている値は、3.03.2、およびlatestです。 +latestの値は、使用されているlibpqのバージョンでサポートされている最新のプロトコルバージョンと同等であり、現在は3.2です。 @@ -3269,10 +3253,10 @@ GSS資格証明をサーバに転送(委任)します。 implementation. It is not meant to be specified directly by users or client applications. --> -《機械翻訳》ベース64で符号化されたSCRAMクライアントキーです。 -これはパススルーSCRAMデータを有効にするために、外部ミドルウェアラッパーや同様の認証によって使用されます。 -そのような実装の1つについてはを参照してください。 -これはユーザやクライアントアプリケーションによって直接指定されることを意図していません。 +base64でエンコードされたSCRAMクライアントキーです。 +これを外部データラッパーまたは同様のミドルウェアで使用して、パススルーSCRAM認証を有効にすることができます。 +そのような実装の1つについては、を参照してください。 +これは、ユーザまたはクライアントアプリケーションが直接指定することを意図したものではありません。 @@ -3289,10 +3273,10 @@ GSS資格証明をサーバに転送(委任)します。 implementation. It is not meant to be specified directly by users or client applications. --> -《機械翻訳》ベース64で符号化されたSCRAMサーバキーです。 -これはパススルーSCRAMデータを有効にするために、外部ミドルウェアラッパーや同様の認証によって使用されます。 -そのような実装の1つについてはを参照してください。 -これはユーザやクライアントアプリケーションによって直接指定されることを意図していません。 +base64でエンコードされたSCRAMサーバキーです。 +これを外部データラッパーまたは同様のミドルウェアで使用して、パススルーSCRAM認証を有効にすることができます。 +そのような実装の1つについては、を参照してください。 +これは、ユーザまたはクライアントアプリケーションが直接指定することを意図したものではありません。 @@ -3512,9 +3496,9 @@ GSS資格証明をサーバに転送(委任)します。 connections; it should exactly match the issuer setting in the server's HBA configuration. --> -《機械翻訳》トラステッドがサーバのOAuthトークンをリクエストした場合に連絡するコネクション発行者のHTTPS URL。 -このパラメータは、すべてのOAuth接続に必要です。 -サーバのHBA設定のissuer設定と正確にマッチする必要があります。 +サーバが接続用のOAuthトークンを要求した場合に使用する、信頼できる発行者のHTTPS URLです。 +このパラメータはすべてのOAuth接続に必要です。 +サーバのHBA設定のissuerの設定と完全に一致する必要があります。 -《機械翻訳》標準認証ハンドシェイクのパートとして、libpqはサーバにディスカバリドキュメント:一連のOAuth設定パラメータを提供するURLを要求します。 -サーバはOAuth_issuerのコンポーネントから直接構築されたURLを提供する必要があり、この値はディスカバリドキュメント自分自身で宣言された発行者識別子を正確にマッチする必要があります。 -そうしないとコネクションは失敗します。 -これは、OAuthクライアントに対するのクラスの「混乱攻撃」を防ぐために必要です。 +標準認証ハンドシェイクの一部として、libpqはサーバにディスカバリー文書、つまり一連のOAuth設定パラメータを提供するURLを要求します。 +サーバはoauth_issuerのコンポーネントから直接構築されたURLを提供する必要があり、この値はディスカバリー文書自体で宣言されている発行者の識別子と完全に一致する必要があります。 +もし一致しない場合、接続は失敗します。 +これは、OAuthクライアントに対する一種のmix-up攻撃を防ぐために必要です。 -《機械翻訳》明示的に設定することもできますOAuth_issuer /.well-known/ OAuth検出に使用されるURI。 -このケースでは、サーバが別のURLを要求した場合、コネクションは失敗しますが、カスタムOAuthフローは、以前にキャッシュされたトークンを使用して標準ハンドシェイクを高速化できる場合があります。 -(このケースでは、も設定することをお勧めします。 -クライアントはサーバに正しいスコープ設定を要求する機会がなく、トークンのデフォルトスコープでは接続に十分でない可能性があるためです。 -libpq現在、次のウェルノウンエンドポイントをサポートしています。 +OAuthの検出のために利用される/.well-known/ URIに、oauth_issuerを明示的に設定することもできます。 +この場合、サーバが別のURLを要求すると接続は失敗しますが、カスタムOAuthフローでは、以前にキャッシュされたトークンを使用して標準ハンドシェイクを高速化できる場合があります。 +(この場合、クライアントがサーバに正しいスコープ設定を要求する機会がなく、トークンのデフォルトスコープでは接続に不十分な場合があるため、も設定することをお勧めします。) +libpqは現在、以下の既知のエンドポイントをサポートしています。 /.well-known/openid-configuration /.well-known/oauth-authorization-server @@ -3565,8 +3548,8 @@ GSS資格証明をサーバに転送(委任)します。 access to your servers, or to impersonate you directly, that URL should not be trusted as an oauth_issuer. --> -《機械翻訳》発行者は、OAuthコネクションハンドシェイクの間、非常に特権的である。 -ルールの経験則として、ハンドルアクセスへのURLの演算子をサーバに対して信頼しない場合、またはユーザに直接偽装しない場合は、そのURLをOAuth_issuerとしてトラステッドにすべきではない。 +OAuth接続ハンドシェイクの間、発行者には高い権限が与えられます。 +経験則として、あるURLの運用者を信頼できず、サーバへのアクセス処理を任せることや自分自身になりすますことを任せることができない場合、そのURLをoauth_issuerとして信頼すべきではありません。 @@ -3584,9 +3567,9 @@ GSS資格証明をサーバに転送(委任)します。 OAuth hook is installed to provide one), then this parameter must be set; otherwise, the connection will fail. --> -《機械翻訳》authorizationサーバによって発行されたOAuth 2.0クライアント識別子。 -サーバのPostgreSQLサーバOAuthトークンを要求が設定されている場合(およびカスタムOAuthフックがインストールされていない場合)、このパラメータを設定する必要があります。 -設定されていない場合、コネクションは失敗します。 +認証サーバによって発行されたOAuth 2.0クライアント識別子です。 +PostgreSQLサーバが接続用のOAuthトークンを要求する場合(および、トークンを提供するカスタムOAuthフックがインストールされていない場合)、このパラメータを設定する必要があります。 +設定されていない場合、接続は失敗します。 @@ -3601,9 +3584,9 @@ GSS資格証明をサーバに転送(委任)します。 determined by the OAuth provider; "public" clients generally do not use a secret, whereas "confidential" clients generally do. --> -《機械翻訳》OAuth認証パスワードに連絡するときに使用するクライアントサーバ(ある場合)。 -このパラメータが必要かどうかは、OAuthプロバイダによって決定されます。 -「パブリック」クライアントは通常、シークレットを使用しませんが、「機密」クライアントは通常、シークレットを使用します。 +OAuth認証サーバにアクセスするときに使用するクライアントパスワード(もしあれば)です。 +このパラメータが必要かどうかはOAuthプロバイダによって決定されます。 +「公開」クライアントは通常シークレットを使用しませんが、「機密」クライアントは一般的にシークレットを使用します。 @@ -3617,8 +3600,9 @@ GSS資格証明をサーバに転送(委任)します。 specified as a (possibly empty) space-separated list of OAuth scope identifiers. This parameter is optional and intended for advanced usage. --> -《機械翻訳》許可サーバに送信されたアクセスリクエストのスコープは、OAuthスコープ識別子の(おそらく空の)スペースで区切られたリストとして指定されます。 -このパラメータはオプションであり、高度な使用法を意図しています。 +認証サーバに送信されるアクセス要求のスコープです。 +スペースで区切られたOAuthスコープ識別子の一覧(空の場合もあります)として指定されます。 +このパラメータはオプションであり、高度な使用方法を意図としています。 -《機械翻訳》通常、クライアントはPostgreSQLサーバから適切なスコープ設定を取得します。 -このパラメータが使用される場合、サーバの要求されたスコープリストは無視されます。 -これにより、より少ないトラステッドサーバがエンドユーザから不適切なアクセス範囲を要求するのを防ぐことができます。 -ただし、クライアントのスコープ設定にサーバの必要な範囲が含まれていない場合、サーバは発行されたトークンを拒否する可能性が高く、コネクションは失敗します。 +通常、クライアントはPostgreSQLサーバから適切なスコープ設定を取得します。 +このパラメータを使用すると、サーバから要求されたスコープの一覧は無視されます。 +これにより、信頼性の低いサーバがエンドユーザに適切ではないアクセススコープを要求することを防ぐことができます。 +ただし、クライアントのスコープ設定にサーバの必須スコープが含まれていない場合、サーバは発行されたトークンを拒否する可能性が高く、接続は失敗します。 -《機械翻訳》空のスコープリストの意味はプロバイダに依存します。 -OAuth認証サーバは、「デフォルトトークン」を持つスコープを発行するか、トークンリクエストを完全に拒否するかを選択できます。 +空のスコープ一覧が何を意味するかは、プロバイダに依存します。 +OAuth認証サーバは、それが何であれ「デフォルトスコープ」でトークンを発行する場合もあれば、トークンの要求を完全に拒否する場合もあります。 @@ -3982,20 +3966,12 @@ ConnStatusType PQstatus(const PGconn *conn); application could try to recover by calling . --> -《マッチ度[77.160494]》この状態は多くの値の中の1つとなるはずです。 -しかし非同期接続手順の外部からは、その中でたった2つ、CONNECTION_OKCONNECTION_BADだけが現れます。 -データベースへの接続に問題がなければ、CONNECTION_OK状態になります。 -接続に失敗している場合はCONNECTION_BAD状態となります。 -通常、OK状態はまで維持されますが、通信失敗のために早まってCONNECTION_BADになることもあります。 +この状態は多くの値の中の1つとなるはずです。 +しかし非同期接続手順の外部からは、その中でたった2つ、CONNECTION_OKCONNECTION_BADだけが現れます。 +データベースへの接続に問題がなければ、CONNECTION_OK状態になります。 +接続に失敗している場合はCONNECTION_BAD状態となります。 +通常、OK状態はまで維持されますが、通信失敗のために早まってCONNECTION_BADになることもあります。 その場合、アプリケーションはを呼び出して修復を試みることができます。 -《機械翻訳》ステータスには、複数の値のいずれかを指定できます。 -ただし、非同期通信方式プロシージャの外部で表示されるのは、次の2つのみです。 -CONNECTION_OKおよびCONNECTION_BAD。 -データベースへの良好なコネクションにはステータスCONNECTION_OK。 -コネクション試行の失敗はステータスによって通知されます。 -通常、OKステータスはまでそのままですが、通信障害によりステータスがCONNECTION_BAD早期に変更される場合があります。 -そのケースでは、アプリケーションはをコールしてトライを回復できます。 -CONNECTION_BAD @@ -4087,6 +4063,7 @@ const char *PQparameterStatus(const PGconn *conn, const char *paramName); standard_conforming_strings TimeZone + +(default_transaction_read_onlyin_hot_standbyは14より前のリリースでは報告されませんでした。 +scram_iterationsは16より前のリリースでは報告されませんでした。 +search_pathは18より前のリリースでは報告されませんでした。) +なお、server_versionserver_encoding、およびinteger_datetimesは起動後に変更できません。 @@ -4145,22 +4127,18 @@ int PQfullProtocolVersion(const PGconn *conn); protocol is supported by PostgreSQL server versions 7.4 and above. --> -《マッチ度[54.725275]》この関数を使用してアプリケーションは接続したデータベースサーバのバージョンを決定することができます。 -返却値の形式は、メジャーバージョン番号に10000を掛け、マイナーバージョン番号を加えたものです。 -例えば、バージョン10.1では100001を返し、バージョン11.0では110000を返します。 -接続不良の場合は0が返されます。 -《機械翻訳》この関数を使用して、特定の機能がサポートされているかどうかを判別できます。 -結果は、サーバのメジャーバージョン番号に10000を乗算し、マイナーバージョン番号を加算したものになります。 -例の場合、バージョン3.2は30002として戻され、バージョン4.0は40000として戻されます。 -コネクションが不良の場合、ゼロが戻されます。 -3.0プロトコルは、PostgreSQLサーババージョン7.4以上でサポートされています。 +アプリケーションは、この関数を使用して特定の機能がサポートされているかどうかを確認することができます。 +返却値は、サーバのメジャーバージョン番号に10000を乗算し、マイナーバージョン番号を加算した形式になります。 +たとえば、バージョン3.2は30002として返され、バージョン4.0は40000として返されます。 +接続が不良な場合は0が返されます。 +3.0プロトコルは、PostgreSQLサーババージョン7.4以降でサポートされています。 -《機械翻訳》コネクションスタートアップが完成した後もプロトコルバージョンは変わりませんが、理論的にはコネクションリセット中に変わる可能性があります。 +プロトコルのバージョンは、接続の開始処理が完了しても変更されませんが、理論的には接続のリセット中に変わる可能性があります。 @@ -4173,8 +4151,7 @@ int PQfullProtocolVersion(const PGconn *conn); -《マッチ度[68.421053]》使用されるフロントエンド/バックエンドプロトコルを調査します。 -《機械翻訳》フロントエンド/バックエンドプロトコルメジャーバージョンを問い合わせる。 +フロントエンド/バックエンドプロトコルのメジャーバージョンを調査します。 int PQprotocolVersion(const PGconn *conn); @@ -4185,9 +4162,9 @@ int PQprotocolVersion(const PGconn *conn); 3 (3.0 protocol), or zero (connection bad). Prior to release version 14.0, libpq could additionally return 2 (2.0 protocol). --> -《機械翻訳》とは異なり、これは使用中のメジャープロトコルバージョンのみを戻しますが、バージョン7.4までさかのぼったlibpqリリースのより広いレンジでサポートされています。 -現在、可能な値は3(3.0プロトコル)またはゼロ(コネクションbad)です。 -リリースバージョン14.0より前は、libpqはさらに結果2(2.0プロトコル)を追加できました。 +とは異なり、これは使用中のメジャープロトコルバージョンのみを返しますが、バージョン7.4までさかのぼる幅広いlibpqリリースでサポートされています。 +現在返却されうる値は3(3.0プロトコル)または0(接続不良)です。 +バージョン14.0より前のリリースでは、libpqはさらに2(2.0プロトコル)を返す可能性があります。 diff --git a/doc/src/sgml/libpq2.sgml b/doc/src/sgml/libpq2.sgml index 1600c425f61..7e777657a52 100644 --- a/doc/src/sgml/libpq2.sgml +++ b/doc/src/sgml/libpq2.sgml @@ -439,19 +439,12 @@ PostgresPollingStatusType PQcancelPoll(PGcancelConn *cancelConn); be useful to provide feedback to the user for example. These statuses are: --> -《マッチ度[84.513274]》接続中はいつでも、を呼び出すことで接続の状態を確認できます。 -この呼び出しがCONNECTION_BADを返した場合、キャンセル手続きは失敗です。 -この呼び出しがCONNECTION_OKを返した場合、キャンセル要求は正常にディスパッチされました。 +接続中はいつでも、を呼び出すことで接続の状態を確認できます。 +この呼び出しがCONNECTION_BADを返した場合、キャンセル手続きは失敗しています。 +この呼び出しがCONNECTION_OKを返した場合、キャンセル要求は正常にディスパッチされました。 これらの状態はどちらも、上記のPQcancelPollの戻り値から等しく検出できます。 他の状態は、非同期接続手順の間(およびその間のみ)に発生することもあります。 これらは、接続手順の現在の段階を示し、例えばユーザにフィードバックを提供するのに有用です。 -これらのステータスは次のとおりです。 -《機械翻訳》コネクションのステータスは、コネクション中いつでもに電話して確認できます。 -この呼び出しがCONNECTION_BADを戻す場合、キャンセルプロシージャは失敗しています。 -呼び出しがCONNECTION_OKを戻す場合、キャンセルリクエストは正常に作業手配されています。 -これらの両方の状態は、前述のPQcancelPollの戻り値から同様に検出できます。 -他の状態もプロシージャの非同期通信方式中(およびその間のみ)に発生する場合があります。 -これらはプロシージャコネクションの現在段階を示し、例のユーザにフィードバックを提供する場合に役立ちます。 これらのステータスは次のとおりです。 @@ -612,18 +605,12 @@ ConnStatusType PQcancelStatus(const PGcancelConn *cancelConn); remain so until or is called. --> -《マッチ度[76.520509]》ステータスは、いくつかの値のいずれかになります。 -しかし、非同期キャンセル手続きの外で見られるのは、CONNECTION_ALLOCATEDCONNECTION_OKCONNECTION_BADの3つだけです。 -を使用して正常に作成されたPGcancelConnの初期状態はCONNECTION_ALLOCATEDです。 -正常にディスパッチされたキャンセル要求はCONNECTION_OKの状態になります。 -キャンセルが失敗した場合、状態CONNECTION_BADが通知されます。 +ステータスは、いくつかの値のいずれかになります。 +しかし、非同期キャンセル手続きの外で見られるのは、CONNECTION_ALLOCATEDCONNECTION_OK、およびCONNECTION_BADの3つだけです。 +を使用して正常に作成されたPGcancelConnの初期状態はCONNECTION_ALLOCATEDです。 +正常にディスパッチされたキャンセル要求はCONNECTION_OKの状態になります。 +キャンセルが失敗した場合、状態CONNECTION_BADが通知されます。 またはが呼び出されるまで、OK状態はそのまま残ります。 -《機械翻訳》「ステータス」には、複数の値のうちの1つを指定できます。 -ただし、非同期キャンセルプロシージャ以外で表示されるのは、CONNECTION_ALLOCATEDCONNECTION_OKおよびCONNECTION_BADの3つのみです。 -PGcancelConnを使用して正常に作成されたの初期状態はCONNECTION_ALLOCATEDです。 -正常に作業手配されたキャンセルリクエストはステータスCONNECTION_OKです。 -キャンセル試行の失敗はステータスCONNECTION_BADによって通知されます。 -OKステータスはまたはがコールされるまでそのままです。 @@ -1883,15 +1870,10 @@ int PQputline(PGconn *conn, mode.) It is sufficient to call after having sent the actual data. --> -《マッチ度[79.854809]》PostgreSQLプロトコル3.0より前では、アプリケーションは、サーバに対してCOPYデータの送信を完了したことを通知するために、最終の行として\.という2文字を明示的に送信する必要がありました。 -これはまだ動作します。 -しかし、これは廃れたものとして、\.の特殊な意味は将来のリリースで無くなることが予想されます。 -実際のデータの送信完了後にを呼び出すことが重要です。 -《機械翻訳》前PostgreSQLプロトコル3.0年、アプリケーションは明示的に2つの文字を送信する必要がありました\.データの送信を完了したことをサーバに示すための最終直線として。 -これはまだ機能しますが、廃止され、\.の特別な意味は将来のリリースで削除されることが予想されます。 -CSVモードではすでに不正な動作をします。 -実際のデータを送信した後にを呼び出しするだけで十分です。 -COPY +PostgreSQLプロトコル3.0より前では、アプリケーションは、サーバに対してCOPYデータの送信を完了したことを通知するために、最終の行として\.という2文字を明示的に送信する必要がありました。 +これはまだ動作しますが、廃止予定であり、\.の特殊な意味は将来のリリースで無くなることが予想されます。 +(CSVモードでは、すでに正しく動作しません。) +実際のデータの送信完了後にを呼び出すだけで十分です。 @@ -2820,8 +2802,7 @@ size_t PQresultMemorySize(const PGresult *res); -《マッチ度[64.864865]》使用中のlibpqのバージョンを返します。 -《機械翻訳》結果libpq使用されているのバージョン。 +使用中のlibpqのバージョンを返します。 int PQlibVersion(void); @@ -3189,14 +3170,10 @@ typedef struct cleanup must be performed as no PGEVT_CONNDESTROY event will be sent. --> -《マッチ度[85.714286]》PGEVT_REGISTERイベントが受け取られると、evtInfoポインタはPGEventRegister *にキャストされなければなりません。 -この構造体はCONNECTION_OK状態ではなくてはならないPGconnを含んでいます。 +PGEVT_REGISTERイベントが受け取られると、evtInfoポインタはPGEventRegister *にキャストされなければなりません。 +この構造体はCONNECTION_OK状態ではなくてはならないPGconnを含んでいます。 そしてそれは、効果のあるPGconnを取得した直後、を呼び出せば、保証されます。 失敗コードを返すとき、PGEVT_CONNDESTROYイベントが送られないので、すべての消去が実行されなければなりません。 -《機械翻訳》PGEVT_REGISTERイベントを受信した場合、evtInfoポインタはPGEventRegister*に対してキャストである必要があります。 -この構造体包含aPGconnCONNECTION_OKステータスにあるはずです。 -良いPGconnを取得した直後にを呼び出す場合に保証されます。 -失敗コードを返す場合、PGEVT_CONNDESTROYイベントは送信されないため、すべてのクリーンアップを実行する必要があります。 @@ -4377,8 +4354,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGMINPROTOCOLVERSION behaves the same as the connection parameter. --> -《マッチ度[85.820896]》PGSSLMINPROTOCOLVERSION接続パラメータと同様に動作します。 -《機械翻訳》PGMINPROTOCOLVERSIONコネクションパラメータと同じ動作をします。 +PGMINPROTOCOLVERSION接続パラメータと同様に動作します。 @@ -4391,8 +4367,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) PGMAXPROTOCOLVERSION behaves the same as the connection parameter. --> -《マッチ度[85.820896]》PGSSLMAXPROTOCOLVERSION接続パラメータと同様に動作します。 -《機械翻訳》PGMAXPROTOCOLVERSIONのコネクションパラメータと同じ動作をします。 +PGMAXPROTOCOLVERSION接続パラメータと同様に動作します。 diff --git a/doc/src/sgml/libpq3.sgml b/doc/src/sgml/libpq3.sgml index 7843ea8e3a3..aac715dd091 100644 --- a/doc/src/sgml/libpq3.sgml +++ b/doc/src/sgml/libpq3.sgml @@ -39,13 +39,10 @@ using the connection parameter or the environment variable PGPASSFILE. --> -《マッチ度[74.653740]》ユーザのホームディレクトリの.pgpassは、接続にパスワードが必要な場合(かつ、他に指定されたパスワードが無かった場合)に使用するパスワードを格納するファイルです。 -Microsoft Windowsでは、このファイルの名前は%APPDATA%\postgresql\pgpass.conf(ここで%APPDATA%はユーザのプロファイル内のアプリケーションデータディレクトリ)です。 +ユーザのホームディレクトリの.pgpassは、接続にパスワードが必要な場合(かつ、他に指定されたパスワードが無かった場合)に使用するパスワードを格納するファイルです。 +Unixシステムでは、このディレクトリはHOME環境変数で指定でき、定義されていない場合は実効ユーザのホームディレクトリが指定されます。 +Microsoft Windowsでは、このファイルの名前は%APPDATA%\postgresql\pgpass.conf(ここで%APPDATA%はユーザのプロファイル内のアプリケーションデータディレクトリ)です。 他に、接続パラメータを利用するか、環境変数PGPASSFILEで、パスワードファイルを指定できます。 -《機械翻訳》ファイル.pgpassユーザのホームディレクトリ内には、コネクションがパスワードを必要とする場合(および他にパスワードが指定されていない場合)に使用されるパスワードを含めることができます。 -Unixシステムでは、ディレクトリはHOME環境変数で指定するか、未定義の場合は有効なユーザのホームディレクトリで指定できます。 -Microsoft Windowsでは、ファイルは記名的%APPDATA%\postgresql\pgpass.conf %APPDATA%はユーザのプロファイル内のアプリケーションデータディレクトリを参照します。 -または、コネクションパラメータまたは環境変数PGPASSFILEを使用して、使用するパスワードファイルを指定できます。 @@ -136,14 +133,10 @@ Microsoft Windowsにおいては、このファイルが安全なディレクト a recompile of the libpq-using application. The service name can also be specified using the PGSERVICE environment variable. --> -《マッチ度[86.652542]》接続サービスファイルにより、libpq接続パラメータをひとつのサービス名に関連付けることができます。 -サービス名は、libpq接続文字列によって指定され、関連付けられた設定が利用されます。 -これは、接続パラメータをlibpqを使用するアプリケーションの再コンパイルをせずに修正できるというものです。 -サービス名はPGSERVICE環境変数を利用することで使用できます。 -《機械翻訳》接続サービスファイルを使用すると、libpqコネクションパラメータを単一のサービス名前に関連付けることができます。 -そのサービス名前は、libpqコネクション文字列でserviceキーワードを使用して指定でき、関連付けられた設定が使用されます。 -これにより、libpqを使用するアプリケーションを再コンパイルせずにコネクションパラメータを変更できます。 -サービス名前は、PGSERVICE環境変数を使用して指定することもできます。 +接続サービスファイルにより、libpq接続パラメータをひとつのサービス名に関連付けることができます。 +サービス名は、libpq接続文字列のserviceキーワードを使用して指定することができ、関連付けられた設定が使用されます。 +これにより、libpqを使用するアプリケーションの再コンパイルをしなくても、接続パラメータを変更できます。 +サービス名はPGSERVICE環境変数を使用して指定することもできます。 @@ -526,13 +519,10 @@ PostgreSQLの以前のバージョンとの後方互換性のために、ホス and applications that need certificate validation should always use verify-ca or verify-full. --> -《マッチ度[89.120370]》より古いバージョンのPostgreSQLとの後方互換性のために、ルートCAファイルが存在する場合、sslmode=requireの動作はverify-caの場合と同じになっています。 +より古いバージョンのPostgreSQLとの後方互換性のために、ルートCAファイルが存在する場合、sslmode=requireの動作はverify-caの場合と同じになっています。 つまり、サーバ証明書がCAに対して検証されます。 この動作に依存することは勧めません。 また証明書の検証を必要とするアプリケーションは常にverify-caまたはverify-fullを使用すべきです。 -《機械翻訳》以前のバージョンの互換性との後方PostgreSQLでは、ルートCAファイルが存在する場合、sslmode=requireの動作はverify-caの動作と同じになります。 -つまり、サーバ証明書は認証局に対して検証されます。 -この動作に依存することは推奨されず、証明書バリデーションを必要とするアプリケーションは常にverify-caまたはverify-fullを使用する必要があります。 @@ -1061,21 +1051,17 @@ libpqにおいて、sslmodeパラメータをverify- However, this is unnecessary when using OpenSSL version 1.1.0 or later, as duplicate initializations are no longer problematic. --> -《マッチ度[65.374677]》使用するアプリケーションがlibssllibcryptoの両方またはいずれか一方のライブラリを初期化し、libpqSSLサポート付きで構築された場合、libssllibcryptoの両方またはいずれか一方のライブラリはアプリケーションによって初期化されたことをlibpqに伝えるためを呼び出さなければなりません。 +OpenSSLバージョン1.0.2以前を使用する古いバージョンのPostgreSQLとの互換性が必要なアプリケーションは、SSLライブラリを使用する前にSSLライブラリを初期化する必要があります。 +libssllibcryptoの両方またはいずれか一方のライブラリを初期化するアプリケーションは、を呼び出して、libssllibcryptoの両方またはいずれか一方のライブラリがアプリケーションによって初期化されたことをlibpqに伝える必要があります。 これにより、libpqはこれらのライブラリを初期化しなくなります。 ただし、OpenSSLバージョン1.1.0以降を使用している場合は、重複の初期化に問題がなくなるため、これは不要です。 -《機械翻訳》古いバージョンのPostgreSQLOpenSSLバージョン1.0.2以前を使用していると互換性を持つ必要があるアプリケーションは、それを使用してSSLライブラリ前を初期化する必要があります。 -および/またはlibcryptoライブラリは、libsslおよび/またはlibcryptoライブラリがあなたのアプリケーションによって初期化されたことをlibpqに伝えるために呼び出しを行う必要があります。 -そうすればlibpqもそれらのライブラリを初期化することはありません。 -しかしOpenSSLバージョン1.1.0以降を使用している場合は、重複初期化に問題がないため、これは不要です。 -libssl -《機械翻訳》PostgreSQLあなたが対象としているの文書については、そのバージョンを参照してください。 +使用方法の詳細については、対象とするPostgreSQLのバージョンの文書を参照してください。 @@ -1099,8 +1085,7 @@ void PQinitOpenSSL(int do_ssl, int do_crypto); This function is deprecated and only present for backwards compatibility, it does nothing. --> -《機械翻訳》この関数は廃止予定であり、以前の互換性にのみ存在します。 -何もしません。 +この関数は廃止予定であり、後方互換性のためにのみ存在し、何もしません。 @@ -1124,20 +1109,22 @@ void PQinitSSL(int do_ssl); This function is deprecated and only present for backwards compatibility, it does nothing. --> -《機械翻訳》この関数はPQinitOpenSSL(do_ssl, do_ssl).この関数は廃止予定であり、以前の互換性のためだけに存在し、何もしません。 +この関数はPQinitOpenSSL(do_ssl, do_ssl)と同等です。 +この関数は廃止予定であり、後方互換性のためにのみ存在し、何もしません。 + +は下位互換性のために保守されていますが、PostgreSQL 18以降では必要なくなりました。 PostgreSQL 8.0以降、は含まれていますが、PostgreSQL 8.4で追加されました。 従って、旧バージョンのlibpqで動かす必要があるアプリケーションではの方が好ましいかもしれません。 @@ -1150,7 +1137,10 @@ void PQinitSSL(int do_ssl); + + OAuthサポート -《機械翻訳》libpqRFC 8628に記載されている、OAuth v2サポート認証のためのデバイスをクライアントモジュールとして実装しています。 -組み込みフローとしてデバイス認証のためのサポートを有効にする方法については、インストール文書を参照してください。 -オプショナルフロー +libpqは、RFC 8628に記載されているOAuth v2デバイス認証クライアントフローのサポートを、オプションのモジュールとして実装しています。 +組み込みフローとしてデバイス認証のサポートを有効にする方法については、インストール文書を参照してください。 -《機械翻訳》サポートが有効でオプショナルモジュールがインストールされている場合、フロー中にデフォルトがベアラトークンを要求すると、libpqは組み込みのサーバby認証を使用します。 -このフローは、クライアントアプリケーションを実行しているシステムに使用可能なWebブラウザがない場合でも、SSH経由でクライアントを実行している場合の例に使用できます。 +サポートが有効化されておりオプションのモジュールがインストールされている場合、認証中にサーバがベアラトークンを要求すると、libpqはデフォルトで組み込みフローを使用します。 +このフローは、たとえばSSH経由でクライアントを実行している場合など、クライアントアプリケーションを実行しているシステムに使用可能なWebブラウザがない場合でも利用できます。 -《機械翻訳》組み込みのフローでは、デフォルト、プリント別に、訪問するURLと、そこに入力するユーザコードが表示されます。 +組み込みフローでは、デフォルトでアクセス先のURLとそこで入力するユーザコードを表示します。 $ psql 'dbname=postgres oauth_issuer=https://example.com oauth_client_id=...' Visit https://example.com/device and enter the code: ABCD-EFGH @@ -1196,10 +1185,10 @@ Visit https://example.com/device and enter the code: ABCD-EFGH they match expectations, before continuing. Permissions should not be given to untrusted third parties. --> -《機械翻訳》(このプロンプトはカスタマイズされている可能性があります。) -その後、ユーザはログをOAuthプロバイダに入れ、libpqとサーバが彼らに代わってアクションを実行することを許可するかどうかを尋ねます。 -表示されたURLと権限を慎重にレビューし、保証に期待をマッチさせ、前を続けることは、常に良いアイディアです。 -信頼できないサードパーティに権限を与えるべきではありません。 +(このプロンプトはカスタマイズされているかもしれません。) +ユーザがOAuthプロバイダにログインすると、OAuthプロバイダはlibpqとサーバがユーザの代わりにアクションを実行することを許可するかどうかを尋ねます。 +続行する前に、表示されたURLと権限を注意深く確認し、期待通りであることを確認することをお勧めします。 +信頼できない第三者に許可を与えてはいけません。 -《機械翻訳》クライアントアプリケーションは、カスタマイズとの対話およびアプリケーションとの統合に独自のフローを実装する場合があります。 -カスタムフローをlibpqに追加する方法の詳細は、を参照してください。 +クライアントアプリケーションは、独自のフローを実装してアプリケーションとの対話や統合をカスタマイズできます。 +libpqに独自のフローを追加する方法の詳細については、を参照してください。 -《機械翻訳》OAuthクライアントフローを使用するには、コネクション文字列に少なくともが含まれている必要があります。 -(これらの設定は、組織のOAuthプロバイダによって決定されます。) -組み込みのフローには、デバイス認証エンドポイントをパブリッシュするためのOAuth認証サーバも必要です。 +OAuthクライアントフローを使用できるようにするには、接続文字列に少なくともが含まれている必要があります。 +(これらの設定は、利用者の組織のOAuthプロバイダによって決定されます。) +さらに組み込みフローでは、OAuth認証サーバがデバイス認証エンドポイントを公開する必要があります。 @@ -1230,21 +1219,23 @@ Visit https://example.com/device and enter the code: ABCD-EFGH The builtin Device Authorization flow is not currently supported on Windows. Custom client flows may still be implemented. --> -《機械翻訳》組み込みのデバイス許可フローは現在、Windowsではサポートされていません。 -カスタムクライアントフローはまだ実装されている可能性があります。 +組み込みデバイス認証フローは、現在Windowsではサポートされていません。 +カスタムクライアントフローは引き続き実装できます。 + + 認証データフック -《機械翻訳》OAuthフローの動作は、次のクライアントAPIを使用して変更またはフックに置き換えることができます。 - +OAuthフローの動作は、次のフックAPIを使用するクライアントにより変更または置き換えることができます。 PQsetAuthDataHookPQsetAuthDataHook @@ -1256,7 +1247,7 @@ Visit https://example.com/device and enter the code: ABCD-EFGH libpq's handling of one or more aspects of its OAuth client flow. --> -《機械翻訳》OAuthハンドリングフローの1つ以上のアスペクトのPGauthDataHook,overriding libpqのクライアントを設定します。 +PGauthDataHookを設定し、libpqによるOAuthクライアントフローの1つ以上の処理を上書きします。 void PQsetAuthDataHook(PQauthDataHook_type hook); @@ -1265,8 +1256,8 @@ void PQsetAuthDataHook(PQauthDataHook_type hook); default handler will be reinstalled. Otherwise, the application passes a pointer to a callback function with the signature: --> -《機械翻訳》フックNULLの場合、デフォルトハンドラは再インストールされます。 -それ以外の場合、アプリケーションはポインタをシグネチャ:とともにコールバック機能に渡します。 +hookNULLの場合、デフォルトのハンドラが再インストールされます。 +それ以外の場合、アプリケーションは次のシグネチャを持つコールバック関数へのポインタを渡します。 int hook_fn(PGauthData type, PGconn *conn, void *data); @@ -1280,10 +1271,10 @@ int hook_fn(PGauthData type, PGconn *conn, void *data); for the supported list. --> -《機械翻訳》このlibpqは、アプリケーションに対してアクションが要求されたときに呼び出しを行います。 -typeは作成されるリクエストを記述し、connは認証されるコネクションハンドルであり、dataはリクエスト固有のメタデータを指します。 -このポインタの内容はtypeによって決定されます。 -サポートされるリストについてはを参照してください。 +これは、アプリケーションでアクションが必要なときにlibpqが呼び出すものです。 +typeはリクエストの種類を示し、connは認証中の接続ハンドルを示し、dataはリクエスト固有のメタデータを指します。 +このポインタの内容はtypeによって決まります。 +サポートされている一覧についてはを参照してください。 -《機械翻訳》フックは、連携動作や代替動作を可能にするために連鎖させることができます。 -一般に、フック実装は、特定のauthdataをハンドルするかどうかを決定するために、着信タイプを調べる必要があります(場合によっては、リクエストメタデータや、使用中の特定のconnの設定も調べる必要があります)。 -そうでない場合は、チェーン内の前のフックに委任する必要があります(PQgetAuthDataHookを使用して取得可能)。 +フックをつなぎ合わせることで、連携動作や代替動作を実現できます。 +一般的に、フックの実装では、入力のtype(および、場合によってはリクエストのメタデータや使用中のconnの設定)を調べて、特定の認証データを処理するかどうかを判断する必要があります。 +処理しない場合は、チェーン内の前のフック(PQgetAuthDataHook経由で取得可能)に委任する必要があります。 -《機械翻訳》成功は、整数より大きいゼロを戻すことで示されます。 -負の整数を戻すと、エラー条件が通知され、コネクション試行が中止されます(デフォルト実装のゼロ値は予約です)。 +0より大きい整数を返すと、成功していることを示します。 +負の整数を返すとエラー状態であることを示しており、接続試行が中止されます。 +(デフォルトの実装では0の値は予約されています。) @@ -1320,7 +1312,7 @@ int hook_fn(PGauthData type, PGconn *conn, void *data); -《機械翻訳》現在のPGauthDataHook. +現在のPGauthDataHookの値を取得します。 PQauthDataHook_type PQgetAuthDataHook(void); @@ -1329,7 +1321,7 @@ PQauthDataHook_type PQgetAuthDataHook(void); PQsetAuthDataHook), this function will return PQdefaultAuthDataHook. --> -《機械翻訳》初期設定時にPQsetAuthDataHook前はへの最初の呼び出しで、この関数は結果PQdefaultAuthDataHook。 +初期化時(PQsetAuthDataHookを最初に呼び出す前)には、この関数はPQdefaultAuthDataHookを返します。 @@ -1337,14 +1329,16 @@ PQauthDataHook_type PQgetAuthDataHook(void); + + フック型 -《機械翻訳》以下のPGauthData型とそれに対応するdata構造体が定義されています。 - +次のPGauthData型とそれに対応するdata構造体が定義されています。 @@ -1358,16 +1352,23 @@ PQauthDataHook_type PQgetAuthDataHook(void); authorization client flow. data points to an instance of PGpromptOAuthDevice: --> -《機械翻訳》組み込みデフォルト許可クライアントプロンプト中にユーザフローデバイスを置き換えます。 -dataPGpromptOAuthDevice:のインスタンスを指します。 +組み込みデバイス認証クライアントフロー中の、デフォルトのユーザプロンプトを置き換えます。 +dataPGpromptOAuthDeviceのインスタンスを指しています。 typedef struct _PGpromptOAuthDevice { + + const char *verification_uri; /* アクセスする検証URI */ + const char *user_code; /* 入力するユーザコード */ + const char *verification_uri_complete; /* URIとコードのオプションの組み合わせ、 + * またはNULL */ + int expires_in; /* ユーザコードの有効期限が切れるまでの秒数 */ } PGpromptOAuthDevice; @@ -1383,9 +1384,9 @@ typedef struct _PGpromptOAuthDevice on standard error. Replacement implementations may display this information using any preferred method, for example with a GUI. --> -《機械翻訳》libpq含めることができるOAuthデバイス認証フローは、エンドユーザがブラウザのあるURLにアクセスし、libpqがサーバに接続することを許可するコードを入力する必要があります。 -デフォルトプロンプトは、単にverification_uriおよびuser_code標準エラーのを出力します。 -置換実装では、GUIのある例に対して、任意の優先メソッドを使用してこの情報をディスプレイする場合があります。 +libpq含めることができるOAuthデバイス認証フローでは、エンドユーザがブラウザでURLにアクセスし、libpqがユーザに代わってサーバに接続することを許可するコードを入力する必要があります。 +デフォルトのプロンプトは、標準エラーにverification_uriuser_codeを出力するだけです。 +代替の実装では、この情報をGUIなど好みの方法を使用して表示することができます。 -《機械翻訳》このコールバックは、組み込みのデバイス許可フロー中にのみ呼び出されます。 -アプリケーションがカスタムOAuthフローをインストールする場合、またはlibpq組み込みのフロー用にサポートで構築されていない場合、このauthdataタイプは使用されません。 +このコールバックは、組み込みデバイス認証フロー中にのみ呼び出されます。 +アプリケーションがカスタムOAuthフローをインストールしている場合や、libpqが組み込みフローをサポートするようにビルドされていない場合、この認証データ型は使用されません。 -《機械翻訳》非NULL verification_uri_completeが提供されている場合は、オプションで非テキストの確認例の場合はQRコードの表示に使用できます。 -コードはプロバイダによって手動で確認されるため、URLとユーザコードはこのケースのエンドユーザに表示される必要があります。 -URLを使用すると、ユーザは非テキストメソッドを使用できない場合でも続行できます。 -詳細は、RFC 8628のセクション3.3.1を参照してください。 +非NULLのverification_uri_completeが提供されている場合は、テキスト以外の検証(QRコードの表示など)にも使用できます。 +この場合でも、URLとユーザコードは引き続きエンドユーザに表示する必要があります。 +これは、そのコードがプロバイダによって手動で確認されるため、またユーザがテキスト以外の方法を使用できない場合でもURLを使用して続行できるようにするためです。 +詳細については、RFC 8628のセクション3.3.1を参照してください。 @@ -1431,8 +1432,8 @@ URLを使用すると、ユーザは非テキストメソッドを使用でき user/issuer/scope combination, if one is available without blocking, or else set up an asynchronous callback to retrieve one. --> -《機械翻訳》フローのカスタム実装を追加し、組込みフローインストールされている場合を置き換えます。 -フックは、ブロッキングなしで使用可能な場合は、現在ユーザ/発行者/スコープの組合せのベアラトークンを直接結果するか、それを取得するための非同期コールバックを設定する必要があります。 +独自実装したフローを追加し、組み込みフローがインストールされている場合はそれを置き換えます。 +フックは、ブロッキングなしで使用可能な場合は現在のユーザ/発行者/スコープの組み合わせのベアラトークンを直接返すか、それ以外の場合は非同期コールバックを設定してベアラトークンを取得する必要があります。 -《機械翻訳》dataPGoauthBearerRequestのインスタンスを指し、これは実装:によって記入されるべきである。 +dataPGoauthBearerRequestのインスタンスを指しています。 +このインスタンスは実装側で入力する必要があります。 typedef struct PGoauthBearerRequest { + + /* フックの入力(全ての呼び出しで一定) */ + const char *openid_configuration; /* OIDCディスカバリーURL */ + const char *scope; /* 必要なスコープ、またはNULL */ + + /* フックの出力 */ + + /* カスタム非同期OAuthフローを実装するコールバック。 */ PostgresPollingStatusType (*async) (PGconn *conn, struct PGoauthBearerRequest *request, SOCKTYPE *altsock); - + + /* カスタム割り当てをクリーンアップするためのコールバック。 */ void (*cleanup) (PGconn *conn, struct PGoauthBearerRequest *request); - + + char *token; /* 取得したベアラトークン */ + void *user; /* フックで定義される割り当てデータ */ } PGoauthBearerRequest; @@ -1477,10 +1493,10 @@ typedef struct PGoauthBearerRequest the requirements using some other preconfigured knowledge, or they may choose to fail.) --> -《機械翻訳》次の2つの情報がlibpqによってフックに提供されます。 -openid_設定包含は、認可サーバがサポートするフローを記述するOAuthディスカバリドキュメントのURLであり、スコープ包含は、サーバをアクセス化するために必要なOAuthスコープのスペースで区切られた(空の場合もある)リストです。 -いずれかまたは両方がNULL情報が検出できなかったことを示すためである可能性があります。 -(このケースでは、実装は他の事前設定された知識を使用して要件を確立できる場合もあれば、失敗することを選択する場合もあります。) +libpqでは、このフックで2つの情報を提供しています。 +openid_configurationには、認証サーバがサポートするフローを説明するOAuthディスカバリー文書のURLが含まれ、scopeには、サーバへのアクセスに必要なOAuthスコープの一覧(空の場合もあります)がスペースで区切られて含まれています。 +どちらか一方または両方がNULLの場合は、情報が検出できなかったことを示します。 +(この場合、実装側で事前に設定された他の知識を使用して要件を確立できる場合もあれば、失敗を選択する場合もあります。) -《機械翻訳》フックの最終出力はtokenです。 -これは、コネクションで使用するために有効なベアラトークンにポイントする必要があります。 +フックの最終出力はtokenであり、これは接続で使用できる有効なベアラトークンを指している必要があります。 (このトークンはによって発行され、要求されたスコープを保持する必要があります。 -そうしないと、コネクションはサーバのバリデータモジュールによって拒否されます。) -割り当てられたトークン文字列は、libpqが接続を完了するまで有効である必要があります。 -フックは、libpq必要としなくなったときに呼び出されるコールバックを設定する必要があります。 -cleanup +そうしないと、サーバの検証モジュールによって接続が拒否されます。) +割り当てられたトークン文字列は、libpqが接続を終了するまで有効なままでなければなりません。 +フックは、libpqが接続を必要としなくなったときに呼び出されるcleanupコールバックを設定する必要があります。 + +実装上フックの最初の呼び出し中にすぐにtokenを生成できない場合は、認証サーバとの非ブロッキング通信を処理するように非同期コールバックを設定する必要があります。 -《機械翻訳》PQAUTHDATA_OAUTH_BEARER_TOKENのブロッキング中にフック操作を実行すると、PQconnectPollなどの非ブロッキング接続APIに干渉し、同時接続が進行しなくなります。 -PQconnectdbなどの同期的コネクションプリミティブのみを使用するアプリケーションは、asyncコールバックを実装するフック代わり中にトークンを同期的に取得できますが、一度に取得できるコネクションは1つに制限されます。 +PQAUTHDATA_OAUTH_BEARER_TOKENフックコールバック中にブロッキング操作を実行すると、PQconnectPollなどの非ブロッキングな接続APIが妨害され、同時接続の進行が妨げられます。 +PQconnectdbのように同期接続プリミティブのみを使用するアプリケーションでは、asyncコールバックを実装する代わりにフック中にトークンを同期的に取得できますが、一度に1つの接続に制限される必要があります。 + +これは、フックから戻るとすぐにフローを開始するために呼び出されます。 +コールバックがブロッキングなしでこれ以上先に進めない場合は、*pgsocketに、処理が再開できるようになったときに読み取り/書き込みの準備完了と印付けられるファイルディスクリプタを設定した後、PGRES_POLLING_READINGまたはPGRES_POLLING_WRITINGのいずれかを返す必要があります。 +(その後、このディスクリプタはPQsocket()を介して最上位のポーリングループに提供されます。) +フローが完了したらtokenを設定した後にPGRES_POLLING_OKを返し、失敗した場合はPGRES_POLLING_FAILEDを返します。 -《機械翻訳》実装によっては、asyncおよびcleanup callbacks. userデータはこの目的のために提供されています。 -libpqはその内容に触れることはなく、ポインタは都合のよいときにそれを使用することができます。 -アプリケーションクリーンアップ中に割り当てられたものをフリーすることを忘れないでください。 -への呼び出し全体にわたって簿記のために追加のトークンを格納することを望む場合があります。 +実装によっては、asyncコールバックとcleanupコールバックの呼び出しをまたぐ情報に対し、追加のデータを格納したい場合があります。 +userポインタはこの目的のために提供されています。 +libpqはその内容に触れることはなく、アプリケーションは都合の良いときにこの追加のデータを使用できます。 +(トークンのクリーンアップ中に割り当てを解放することを忘れないでください。) @@ -1559,7 +1582,10 @@ typedef struct PGoauthBearerRequest + + デバッグと開発者用の設定 -《機械翻訳》「危険なデバッグモード」は、環境変数PGOAUTHDEBUG=UNSAFEを設定することで有効にできます。 -この機能は、ローカルの開発とテストを容易にするためにのみ提供されています。 +環境変数PGOAUTHDEBUG=UNSAFEを設定することで、「危険なデバッグモード」を有効にできます。 +この機能は、ローカルでの開発とテストを容易にするためにのみ提供されています。 この機能は、本番システムでは実行したくないいくつかのことを実行します。 @@ -1578,7 +1604,7 @@ typedef struct PGoauthBearerRequest -《機械翻訳》は、OAuthプロバイダの交換中に暗号化されていないHTTPの使用を許可します。 +OAuthプロバイダの交換中に暗号化されていないHTTPを使用することを許可します @@ -1587,7 +1613,7 @@ typedef struct PGoauthBearerRequest allows the system's trusted CA list to be completely replaced using the PGOAUTHCAFILE environment variable --> -《機械翻訳》PGOAUTHCAFILEリストを使用して、このシステムのカリフォルニア州トラステッド環境変数を完全に置き換えることができます。 +PGOAUTHCAFILE環境変数を使用して、システムの信頼するCAリストを完全に置き換えることができます @@ -1596,7 +1622,7 @@ typedef struct PGoauthBearerRequest prints HTTP traffic (containing several critical secrets) to standard error during the OAuth flow --> -《機械翻訳》はOAuthトラフィック中にHTTPフロー(いくつかの重要な秘密情報を含む)を標準エラーに出力する。 +OAuthフロー中にHTTPトラフィック(いくつかの重要なシークレットを含む)を標準エラーに出力します @@ -1605,8 +1631,8 @@ typedef struct PGoauthBearerRequest permits the use of zero-second retry intervals, which can cause the client to busy-loop and pointlessly consume CPU --> -《機械翻訳》では、ゼロ秒のリトライ間隔を使用できます。 -これにより、クライアントがビジー-ループになり、CPU使用率が無意味に消費される可能性があります。 +0秒の再試行間隔の使用を許可します。 +これにより、クライアントはビジーループ状態になり、CPUを無意味に消費する可能性があります @@ -1617,8 +1643,8 @@ typedef struct PGoauthBearerRequest Do not share the output of the OAuth flow traffic with third parties. It contains secrets that can be used to attack your clients and servers. --> -《機械翻訳》OAuthフロートラフィックの出力を第三者と共有しないでください。 -クライアントやサーバを攻撃するために使用できる包含シークレットです。 +OAuthフロートラフィックの出力を第三者と共有しないでください。 +クライアントやサーバを攻撃するために使用できるシークレットが含まれています。 @@ -1745,9 +1771,9 @@ int PQisthreadsafe(); initialization; those builds can be identified by the advertisement of a threadsafe feature in their version metadata. --> -《機械翻訳》同様に、アプリケーション内でCurlを使用している場合、そしてまだlibcurlをグローバルにしていない場合、前で新しいスレッドを開始するには、libcurlを初期化する可能性のあるコードの周囲を(PQregisterThreadLockを介して)協調的にロックする必要があります。 -この制限は、サポートスレッドセーフ初期設定にビルドされたCurlのより新しいバージョンで解除されます。 -これらのビルドは、バージョンメタデータでthreadsafe機能をアドバタイズすることで識別できます。 +同様に、アプリケーション内でCurlを使用していて、かつ新しいスレッドを開始する前にlibcurlをグローバルに初期化していない場合は、libcurlを初期化する可能性のあるコードを(再度PQregisterThreadLock経由で)協調してロックする必要があります。 +この制限は、スレッドセーフな初期化をサポートするように構築されたCurlの最近のバージョンでは解除されています。 +これらのビルドは、バージョンメタデータにthreadsafe機能が記載されているかどうかで識別できます。 From d3a070d3a9ed97d15f5fe4df555c6181af9177ed Mon Sep 17 00:00:00 2001 From: Higuchi Daisuke <20634318+higuchi-daisuke@users.noreply.github.com> Date: Tue, 20 Jan 2026 11:57:38 +0000 Subject: [PATCH 3/4] Remove whitespace from doc/src/sgml/libpq*.sgml --- doc/src/sgml/libpq.sgml | 2 +- doc/src/sgml/libpq3.sgml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index ed83e2b18dc..ce1d6c0b4d1 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -14968,7 +14968,7 @@ typedef struct PGoauthBearerRequest --> 実装によっては、asyncコールバックとcleanupコールバックの呼び出しをまたぐ情報に対し、追加のデータを格納したい場合があります。 userポインタはこの目的のために提供されています。 -libpqはその内容に触れることはなく、アプリケーションは都合の良いときにこの追加のデータを使用できます。 +libpqはその内容に触れることはなく、アプリケーションは都合の良いときにこの追加のデータを使用できます。 (トークンのクリーンアップ中に割り当てを解放することを忘れないでください。) diff --git a/doc/src/sgml/libpq3.sgml b/doc/src/sgml/libpq3.sgml index aac715dd091..d151398d4f9 100644 --- a/doc/src/sgml/libpq3.sgml +++ b/doc/src/sgml/libpq3.sgml @@ -1571,7 +1571,7 @@ typedef struct PGoauthBearerRequest --> 実装によっては、asyncコールバックとcleanupコールバックの呼び出しをまたぐ情報に対し、追加のデータを格納したい場合があります。 userポインタはこの目的のために提供されています。 -libpqはその内容に触れることはなく、アプリケーションは都合の良いときにこの追加のデータを使用できます。 +libpqはその内容に触れることはなく、アプリケーションは都合の良いときにこの追加のデータを使用できます。 (トークンのクリーンアップ中に割り当てを解放することを忘れないでください。) From f20f10637bfba319aced669ecc573446e120f128 Mon Sep 17 00:00:00 2001 From: Higuchi Daisuke <20634318+higuchi-daisuke@users.noreply.github.com> Date: Thu, 22 Jan 2026 12:42:07 +0000 Subject: [PATCH 4/4] Update based on review comments for doc/src/sgml/libpq*.sgml --- doc/src/sgml/libpq.sgml | 10 +++++----- doc/src/sgml/libpq0.sgml | 4 ++-- doc/src/sgml/libpq2.sgml | 2 +- doc/src/sgml/libpq3.sgml | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index ce1d6c0b4d1..959e7d2ef1d 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -725,9 +725,9 @@ switch(PQstatus(conn)) PQsocketPollPQsocketPoll - 認証サーバに送信されるアクセス要求のスコープです。 スペースで区切られたOAuthスコープ識別子の一覧(空の場合もあります)として指定されます。 -このパラメータはオプションであり、高度な使用方法を意図としています。 +このパラメータはオプションであり、高度な使用方法を想定しています。 -使用中のlibpqのバージョンを返します。 +使用中のlibpqのバージョンを返します。 int PQlibVersion(void); @@ -14920,7 +14920,7 @@ typedef struct PGoauthBearerRequest it should set the async callback to handle nonblocking communication with the authorization server. --> -実装上フックの最初の呼び出し中にすぐにtokenを生成できない場合は、認証サーバとの非ブロッキング通信を処理するように非同期コールバックを設定する必要があります。 +実装上フックの最初の呼び出し中にすぐにtokenを生成できない場合は、認証サーバとの非ブロッキング通信を処理するように非同期コールバックを設定する必要があります。 これは、フックから戻るとすぐにフローを開始するために呼び出されます。 -コールバックがブロッキングなしでこれ以上先に進めない場合は、*pgsocketに、処理が再開できるようになったときに読み取り/書き込みの準備完了と印付けられるファイルディスクリプタを設定した後、PGRES_POLLING_READINGまたはPGRES_POLLING_WRITINGのいずれかを返す必要があります。 +コールバックがブロッキングなしでこれ以上先に進めない場合は、*pgsocketに、処理が再開できるようになったときに読み取り/書き込みの準備完了とマークされるファイルディスクリプタを設定した後、PGRES_POLLING_READINGまたはPGRES_POLLING_WRITINGのいずれかを返す必要があります。 (その後、このディスクリプタはPQsocket()を介して最上位のポーリングループに提供されます。) フローが完了したらtokenを設定した後にPGRES_POLLING_OKを返し、失敗した場合はPGRES_POLLING_FAILEDを返します。 diff --git a/doc/src/sgml/libpq0.sgml b/doc/src/sgml/libpq0.sgml index fe76dfba337..a3313011061 100644 --- a/doc/src/sgml/libpq0.sgml +++ b/doc/src/sgml/libpq0.sgml @@ -733,9 +733,9 @@ switch(PQstatus(conn)) PQsocketPollPQsocketPoll - 認証サーバに送信されるアクセス要求のスコープです。 スペースで区切られたOAuthスコープ識別子の一覧(空の場合もあります)として指定されます。 -このパラメータはオプションであり、高度な使用方法を意図としています。 +このパラメータはオプションであり、高度な使用方法を想定しています。 -使用中のlibpqのバージョンを返します。 +使用中のlibpqのバージョンを返します。 int PQlibVersion(void); diff --git a/doc/src/sgml/libpq3.sgml b/doc/src/sgml/libpq3.sgml index d151398d4f9..0a2f8ec2318 100644 --- a/doc/src/sgml/libpq3.sgml +++ b/doc/src/sgml/libpq3.sgml @@ -1523,7 +1523,7 @@ typedef struct PGoauthBearerRequest it should set the async callback to handle nonblocking communication with the authorization server. --> -実装上フックの最初の呼び出し中にすぐにtokenを生成できない場合は、認証サーバとの非ブロッキング通信を処理するように非同期コールバックを設定する必要があります。 +実装上フックの最初の呼び出し中にすぐにtokenを生成できない場合は、認証サーバとの非ブロッキング通信を処理するように非同期コールバックを設定する必要があります。 これは、フックから戻るとすぐにフローを開始するために呼び出されます。 -コールバックがブロッキングなしでこれ以上先に進めない場合は、*pgsocketに、処理が再開できるようになったときに読み取り/書き込みの準備完了と印付けられるファイルディスクリプタを設定した後、PGRES_POLLING_READINGまたはPGRES_POLLING_WRITINGのいずれかを返す必要があります。 +コールバックがブロッキングなしでこれ以上先に進めない場合は、*pgsocketに、処理が再開できるようになったときに読み取り/書き込みの準備完了とマークされるファイルディスクリプタを設定した後、PGRES_POLLING_READINGまたはPGRES_POLLING_WRITINGのいずれかを返す必要があります。 (その後、このディスクリプタはPQsocket()を介して最上位のポーリングループに提供されます。) フローが完了したらtokenを設定した後にPGRES_POLLING_OKを返し、失敗した場合はPGRES_POLLING_FAILEDを返します。