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

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”を参照してください。