Puppet でプロビジョニングされた Vagrant ボックスを構築しようとしています。
http://files.vagrantup.com/precise64.boxの Ubuntu 12.04 LTS ボックスを使用します。
また、http://forge.puppetlabs.com/puppetlabs/postgresqlモジュールを使用して、次のマニフェストで PostgreSQL をインストールします。
class db {
class { 'postgresql': version => '9.1' }
class { 'postgresql::server': }
}
class { 'db': }
正しくインストールされますが、データベースは SQL_ASCII エンコードで作成されます。
$ psql -l -U postgres
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+-----------+---------+-------+-----------------------
postgres | postgres | SQL_ASCII | C | C |
template0 | postgres | SQL_ASCII | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | SQL_ASCII | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
グーグルで調べた後、ロケールの問題である可能性があると思いましたが、私には正しいようです:
$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
UTF8 エンコーディングのデフォルトで PostgreSQL をインストールできるようにするにはどうすればよいか知っていますか? これもPuppetが使えるといいですね。