PostgreSQLの文字コードを調整したいのですが…

プランによって規定の文字コードが異なります。

共用サーバ

【START、FLEX/SECUREプラン】SQL_ASCII
【RSプラン】UTF8 

なお、上記の共用サーバのプランについてはエンコード変更が出来ません。

仮想専用サーバ

【Plesk11+PowerPack搭載の VPS(EX-LITE)およびクラウドプラン】UTF8
【Plesk8+PowerPack搭載のEX-SCALE】SQL_ASCII

仮想専用サーバの文字コード変更例

管理画面でPostgreSQLのデータベースが作成できる仮想専用サーバではコマンド操作により変更が可能です。
コマンド操作はサポート対象外となりますので参考情報としてご確認ください。
以下はPlesk11+PowerPack搭載プランの例です。

【参考情報1】

  • 管理ユーザの設定 ( サーバ>データーベースサーバにて調整。以下のFAQ 【Plesk11+PowerPack (VPS、クラウド)】参照)
    PostgreSQL運用ガイド(PowerPack搭載)【Plesk11】STEP1参照
    すでにユーザ名を設定しいる場合、「admin」等ですとコマンド操作時にエラーとなります。管理ユーザ名を変更する場合は、既存のPostgreSQLのデータベースはPlesk上で削除しておく必要があります。(Plesk8の場合は
  • Plesk画面でデータベースの作成
    PostgreSQL運用ガイド(PowerPack搭載)【Plesk11】STEP2参照
    例として「testpg」というデータベース名をPostgreSQLのデータベースを作成したとします。
  • コマンドラインでデータベースの削除(dropdb)
    サーバにSSHでログインし、rootに昇格します。testpg を削除するコマンド例は以下です。

    # dropdb -U postgres -W testdb
    Password: (※ここで1.で設定してある管理ユーザパスワードを入力します)
    DROP DATABASE (←このメッセージが出れば削除完了です)
    
  • コマンドラインでデータベースをエンコードを指定して再作成(createdb)
    削除したデータベースをEUC_JPで再作成する手順です。
    PostgreSQL 8.1 の場合の指定文字コード一覧は「Character Set Support Manuals / PostgreSQL 8.1」をご参照ください。

    # createdb -U postgres -W -E EUC_JP testdb
    Password: (※ここで1.で設定してある管理ユーザパスワードを入力します)
    CREATE DATABASE(←このメッセージが出れば作成完了です)
    

【参考情報2】
データベースの文字コードを確認する方法は以下となります。 

  • Plesk上で管理者設定(管理ユーザ名:postgres)をします
  • Plesk上でデータベースを作成します
  • SSHでサーバにログインし、rootに昇格します
  • suコマンドで postgresにユーザをスイッチします
    # su – postgres 
  • psql接続コマンドを発行します
    $ psql
    Password:(Pleskの画面にて設定したデータベース管理者パスワードを入力しリターン)
    postgres=#(プロンプトが変わります)

    「¥l」を発行するとデータベース名と、所有者(オーナー)文字コードが表示されます。
    「¥du」を発行すると、データベース、データベースユーザリストが表示されます。

  • postgres接続から抜けるときは「¥q」を発行します
  • postgresユーザからrootにもどるときは 「exit」コマンドを発行します