2013-07-01 5 views
10

Für postgresql 9.2 Installation folgte ich diese URL: http://www.ubuntugeek.com/how-to-install-postgresql-9-2-on-ubuntu-server-using-ppa.htmlPostgresql 9.2 Installation auf Ubuntu 12.04

Aber am Ende der Installation Ausgabe ist wie:

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 

Und als ich versuchte, postgresql zu starten, gibt es folgende Fehler:

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" 

Wie kann ich dieses Problem beheben?

Antwort

19

Ihr System locale Konfiguration ist durcheinander. Ihre LC_MESSAGES wird auf en_IN.UTF-8 aber LANG ist auf en_US.UTF-8, die seltsam und widersprüchlich ist. Haben Sie setzen LC_MESSAGES in Ihrem ~/.bash_profile, /etc/environment oder so etwas?

Sie sollten wirklich dpkg-reconfigure locales. Siehe how to select and generate locales in Ubuntu.

Sobald Sie das Gebietsschema eingerichtet haben, können Sie den pg_createcluster 9.2 main --start Befehl pg_createcluster 9.2 main --start wie vom Fehler vorgeschlagen verwenden, um den Cluster zu erstellen. Danach wird der Dienst gestartet.

+0

Bevor ich SDK6 installiert, aber es gab nicht jeden Error. Dann, warum Postgresql gab Porblem? –

+0

@NareshJ Was ist "SDK6"? Meinst du vielleicht "das OpenJDK 6 SDK"? Die Antwort ist, dass es einigen Programmen nichts ausmacht, wenn Ihre Gebietsschema-Konfiguration komplett kaputt ist. PostgreSQL tut es. ** Sie benötigen, um Ihre Schauplätze neu zu generieren **, so dass die Locale-Daten für 'en_US.UTF-8' und' en_IN.UTF-8' tatsächlich vorhanden sind. –

+2

Hey danke, ich gelöst Problem durch completedly Entfernen Postgres und dann 'installiert language-pack-en-base' und dann postgresql wieder installiert. Es funktionierte. Nochmals vielen Dank für die genaue Ausrichtung des Fehlers. :) –

27

habe ich versucht, alle Lösungen, die ich finden konnte, aber am Ende dieses Post sortiert es:

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

Grundsätzlich fügen Sie die gewünschte Sprache/etc/environment. In meinem Fall:

sudo nano /etc/environment 

hinzugefügt Dann ist diese bis zum Ende der Datei:

LC_ALL="en_US.utf-8" 

dann den Server neu starten, diese

sudo reboot 
+1

Großartig, arbeitete für mich! –

+1

Es funktioniert auch für mich. –

+1

danke Mann, funktioniert gut – rusllonrails