今回は、Silverの「S1 一般知識 - S1.1 OSS-DBの一般的特徴」からの出題です。
サーバとクライアントが同じマシンにあるときは、同じ文字セットを使う必要がある。
サーバの文字セットとして、日本語シフトJISをサポートしている。
クライアントの文字セットとして、日本語シフトJISをサポートしている。
データベースクラスタ内のデータベース毎に異なる文字セットを使うことができる。
データベース内のテーブル毎に異なる文字セットを使うことができる。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2012年2月1日
PostgreSQLを含め、多くのRDBMSでは、サーバとクライアントで別の文字セット(エンコーディング、符号化方式)を定めることができ、クライアントが求める文字セットに応じて、データベースサーバが適切に文字コード変換を行います。
PostgreSQLがサポートする文字セットの種類についてはマニュアルに記述がありますが、サーバで利用できる文字セットとクライアントで利用できる文字セットには違いがあり、一部の文字セットは(クライアントでは利用できても)サーバでは利用できません。
日本語でよく使われる文字セットに、EUC、シフトJIS、UTF8があります。このうちEUCとUTF8はサーバ、クライアントのどちらでも利用できますが、シフトJISはクライアントでしか利用することができません。
データベースクラスタで利用するデフォルトの文字セットは、initdb コマンドのオプションで指定しますが、クラスタ内の各データベースで使用する文字セットは、createdb コマンドまたはCREATE DATABASE文のオプションで指定することができ、必ずしもデータベースクラスタのデフォルト文字セットと同じである必要はありません。
データベース内の各テーブルで利用される文字セットは、データベースの文字セットで、テーブル毎に変更することはできません。
従って正解はCとDです。
参考:オンラインマニュアル(文字セットサポート)
http://www.postgresql.jp/document/current/html/multibyte.html
今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。
© EDUCO All Rights Reserved.