ページの先頭行へ戻る
Enterprise Postgres 15 Community Edition ユーザーズガイド

B.2.4 C言語用ライブラリ(libpq)

C言語用ライブラリの利用方法について説明します。

B.2.4.1 開発環境

開発、および実行するアーキテクチャのFujitsu Enterprise Postgres Clientパッケージをインストールしてください。

参照

C言語アプリケーションの開発に必要なCコンパイラについては、以下を参照してください。

B.2.4.2 セットアップ

C言語ライブラリを利用する場合の環境設定、および通信データの暗号化方法について説明します。

B.2.4.2.1 環境設定

libpqを使用するアプリケーションを実行するためには、以下のように環境変数を設定してください。

LinuxLinuxの場合
WindowsWindows(R)の場合
B.2.4.2.2 メッセージの言語およびアプリケーションが使用する符号化方式の設定

アプリケーション実行環境の言語の設定、およびアプリケーションが使用する符号化方式の設定について説明します。

言語の設定

アプリケーション実行環境の言語設定は、データベースサーバのメッセージロケールの設定と合わせる必要があります。

アプリケーションが出力するメッセージの中には、アプリケーション側のメッセージに、データベースサーバから送られたメッセージを埋め込む場合があります。このとき、アプリケーション側のメッセージは、アプリケーション側のメッセージロケールに従い、データベースサーバから送られるメッセージは、データベースサーバ側のメッセージロケールに従います。そのため、両方のメッセージロケールが一致していない場合には、言語や符号化方式が混在します。符号化方式が一致しない場合には、文字化けが発生します。

符号化方式の設定

アプリケーションに埋め込まれ、データベースに渡される符号化方式と、実行時のクライアント符号化方式の設定は同じにしてください。データベースサーバ側で正しく符号化方式を変換できなくなります。

アプリケーションの符号化方式は、以下のいずれかの方法で設定してください。

参照

設定できる符号化方式を表す文字列は、“PostgreSQL Documentation”の“Server Administration”の“Supported Character Sets”を参照してください。

例えば、Unicode、8ビットの場合は、“UTF8”という文字列を設定します。

ポイント

コマンドプロンプトに結果を出力する際、文字化けする場合があります。文字化けした場合は、コマンドプロンプトのフォントの設定を見直してください。

B.2.4.2.3 通信データを暗号化する場合の設定

通信データの暗号化機能を利用してリモートアクセスを行う場合は、以下のいずれかの方法で設定してください。

  

環境変数により外部から設定する場合

環境変数PGSSLMODEに「require」、「verify-ca」、「verify-full」のいずれかを指定してください。

さらに、データベースサーバの成りすましを防御するためには、環境変数PGSSLROOTCERTおよびPGSSLCRLの各パラメータの設定が必要です。

参照

環境変数の詳細については、“PostgreSQL Documentation”の“Client Interfaces”の“Environment Variables”を参照してください。

接続URIに指定する場合

接続URIの“sslmode”パラメータに「require」、「verify-ca」、「verify-full」のいずれかを指定してください。

さらに、データベースサーバの成りすましから防御するためには、“sslcert”、“sslkey”、“sslrootcert”、“sslcrl”の各パラメータの設定も必要です。

  

参照

通信データの暗号化についての詳細は、“PostgreSQL Documentation”の“Server Administration”の“Secure TCP/IP Connections with SSL”を参照してください。

B.2.4.3 データベースへの接続

ポイント

接続サービスファイルを用いて接続先を指定することを推奨します。接続サービスファイルには、接続先情報やコネクションに対して設定する各種のチューニング情報を1セットとして名前(サービス名)を定義します。データベース接続時には、接続サービスファイルに定義されたサービス名を用いることで、接続情報の変更によるアプリケーションの修正が不要になります。

“PostgreSQL Documentation”の“Client Interfaces”の“The Connection Service File”を参照してください。

参照

“PostgreSQL Documentation”の“Client Interfaces”の“Database Connection Control Functions”を参照してください。