web-dev-qa-db-ja.com

Ubuntu12.04へのPostgresql9.2のインストール

インストール用postgresql 9.2私はこのURLに従いました: http://www.ubuntugeek.com/how-to-install-postgresql-9-2-on-ubuntu-server-using-ppa.html

しかし、インストールの最後の出力は次のようになります。

Setting up postgresql-common (140~precise) ...
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Adding user postgres to group ssl-cert
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
 * No PostgreSQL clusters exist; see "man pg_createcluster"
Setting up postgresql-9.2 (9.2.4-0ppa1~precise) ...
Error: The locale requested by the environment is invalid.
Error: could not create default cluster. Please create it manually with

  pg_createcluster 9.2 main --start

or a similar command (see 'man pg_createcluster').
update-alternatives: using /usr/share/postgresql/9.2/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode.
 * No PostgreSQL clusters exist; see "man pg_createcluster"
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place

そして、postgresqlを起動しようとすると、次のエラーが発生します。

Sudo /etc/init.d/postgresql start
Perl: warning: Setting locale failed.
Perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_MESSAGES = "en_IN.UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
Perl: warning: Falling back to the standard locale ("C").
 * No PostgreSQL clusters exist; see "man pg_createcluster"

この問題を解決するにはどうすればよいですか?

10
Naresh J

システムロケール設定が台無しになっています。 LC_MESSAGESen_IN.UTF-8に設定されていますが、LANGen_US.UTF-8に設定されており、奇妙で一貫性がありません。 LC_MESSAGES~/.bash_profileなどに/etc/environmentを設定しましたか?

あなたは本当にdpkg-reconfigure localesすべきです。 buntuでロケールを選択して生成する方法 を参照してください。

ロケール設定を修正したら、エラーで示されているようにpg_wrapperコマンドpg_createcluster 9.2 main --startを使用してクラスターを作成できます。その後、サービスの開始が機能します。

19
Craig Ringer

私は見つけたすべての解決策を試しましたが、最終的にこの投稿はそれを分類しました:

http://ubuntuforums.org/showthread.php?t=1720356

基本的に、必要な言語を/ etc/environmentに追加します。私の場合:

Sudo nano /etc/environment

次に、これをファイルの最後に追加しました。

LC_ALL="en_US.utf-8"

次に、サーバーを再起動します

Sudo reboot
27
Dave Flynn