PostgreSQLのロケール設定の確認方法とロケール設定方法 †PostgreSQLのデータベースクラスタのロケール設定値の確認方法とロケール設定方法を以下に記します。 関連資料 †本資料で使用した環境 †
データベースクラスタのロケール設定値の確認方法 †以下のSQLを発行することによりデータベースクラスタのロケールを確認することができます。 SELECT name, setting, context FROM pg_settings WHERE name LIKE 'lc%'; 実際にSQLを実行した時の出力結果です。 -bash-4.1$ psql psql (8.4.13) "help" でヘルプを表示します. postgres=# SELECT name, setting, context FROM pg_settings WHERE name LIKE 'lc%'; name | setting | context -------------+-------------+----------- lc_collate | ja_JP.UTF-8 | internal lc_ctype | ja_JP.UTF-8 | internal lc_messages | ja_JP.UTF-8 | superuser lc_monetary | ja_JP.UTF-8 | user lc_numeric | ja_JP.UTF-8 | user lc_time | ja_JP.UTF-8 | user (6 行) 上記で出力されたlc_%の各種情報ですが、lc_collateとlc_ctypeはcontextがinternalになっています。
CREATE TABLEでロケールなどを指定してみる †上記では、initdbで作成したデータベースクラスターの値を確認しました。
上記のコマンドを実行した後の結果をpsql -lで確認しました。 -bash-4.1$ psql -l データベース一覧 名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権 -----------+----------+------------------+-------------+-------------------+----------------------- db1 | postgres | EUC_JP | ja_JP.eucjp | ja_JP.eucjp | db2 | postgres | UTF8 | C | C | db3 | postgres | SQL_ASCII | C | C | postgres | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | template0 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres : postgres=CTc/postgres template1 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres : postgres=CTc/postgres 以上、ロケール確認と設定についての資料でした。 |