Postgresql / etc / postgresql existiert nicht


7

Ich versuche, PostgreSQL 9.1 mithilfe von Backports auf einem Debian Squeeze-Server zu installieren, aber nach der Installation habe ich nicht den Ordner / etc / postgresql, sondern einen Ordner / etc / postgresql-common.

Gibt es etwas, was ich falsch mache? Laut dem Debian-Wiki sollte ich einen Ordner /etc/postgresql/9.1/ haben.


Komisch. Ich hatte dies einmal, als ich versuchte, aptitude installdas Postgres-Paket zu verwenden, aber das Entfernen und Installieren mit apt-getfunktionierte. Ich bin ein Paketproblem. Melde den Fehler.
ansi_lumen

@ansi_lumen Sie können das als Antwort nicht als Kommentar posten.
kmindi

Dies bedeutet wahrscheinlich, dass die PG-Cluster-Initialisierung fehlgeschlagen ist. Siehe das Ergebnis von pg_lsclusters. Geben Sie für eine fundiertere Antwort die von Ihnen eingegebenen Befehle und das Ausgabeergebnis an, das Sie bei der Installation des Pakets erhalten.
Daniel Vérité

@ DanielVérité Ich denke, pg_lsclusters wird vertrieben, es /etc/postgresqlsei denn, die Installation hat etwas wirklich Nicht-Vanilles.
Philip Couling

Antworten:


9

Ich weiß, dass dieses Problem ziemlich alt ist, aber ich bin gerade über dasselbe Problem gestolpert.

Bei genauerer Betrachtung der Ausgabe von habe apt-get install postgresqlich festgestellt, dass die Ausgabe zuerst besagt, dass etwas mit meinen Gebietsschemaeinstellungen nicht stimmt, und in den Endberichten konnte der Cluster nicht erstellt werden:

Error: The locale requested by the environment is invalid.
Error: could not create default cluster. Please create it manually with

 pg_createcluster 9.1 main --start

or a similar command (see 'man pg_createcluster').

Um das Problem endgültig zu lösen, ist es hilfreich, die Gebietsschemas (neu) zu installieren und die Gebietsschemakonfiguration zurückzusetzen. Für mich (mit einem Debian 7.8-System) wurde dies gemacht von:

apt-get install locales

oder

dpkg-reconfigure locales

wenn es noch installiert war.

Installieren Sie abschließend das gesamte Postgresql-Serversystem neu. Für mich war das

apt-get --purge remove postgresql postgresql-9.1 postgresql-common
apt-get install postgresql postgresql-9.1 postgresql-common

Ich hoffe, das wird jemandem in Zukunft helfen, es schneller herauszufinden als ich :-)


Anscheinend hat das Ubuntu: 14.04 Docker-Image beschlossen, das en_US.UTF-8Gebietsschema vollständig zu entfernen (wird nicht mehr angezeigt locale -a), was schließlich zu diesem seltsamen Problem für mich führte (meine exportierten Variablen zum Festlegen des Gebietsschemas wurden einfach ignoriert). Daher musste ich meinem Erstellungsprozess einen Schritt hinzufügen locale-gen en_US.UTF-8, um die Verfügbarkeit sicherzustellen.
Abe Voelker

3

Ich möchte hier nicht bevormunden, sondern es einfach schaffen.

Ohne einen initialisierten Cluster ist es wirklich nur ein leeres Verzeichnis. Am wahrscheinlichsten ist, dass Sie keinen Cluster erstellt haben (siehe Inhalt /var/lib/postgresql).

Sie können (sudo) verwenden mkdir /etc/postgresql /etc/postgresql/9.1, um das Verzeichnis zu erstellen.

Verwenden Sie dann (sudo) pg_createcluster 9.1 main, um Ihren DB-Cluster (main) zu erstellen. Nach der Erstellung haben Sie ein /etc/postgresql/9.1/mainVerzeichnis mit den Einstellungen für diesen Cluster.

Sobald Sie Ihren Cluster haben, verwenden Sie (sudo) pg_ctrlcluster 9.1 main start, um den Cluster zum Laufen zu bringen.


2

Ich hatte das gleiche Problem und konnte es nicht durch einfaches Entfernen und erneutes Installieren beheben. Das Problem hing mit der Tatsache zusammen, dass postgresql ein Metapaket ist. Das Update ( wie hier beschrieben ) bestand darin, alles mit einem Platzhalter zu löschen:

apt-get --purge remove postgresql\*

und die Neuinstallation.


0

Ich habe das Verzeichnis gefunden, nach dem ich gesucht habe /var/lib/postgresql/. Ich habe es mit der folgenden SQL-Anweisung gefunden:

SELECT setting FROM pg_settings WHERE name = 'hba_file';


-1

Komisch. Ich hatte dies einmal, als ich versuchte, aptitude installdas Postgres-Paket zu verwenden, aber das Entfernen, Löschen und Installieren mit apt-getfunktionierte. Ich bin ein Paketproblem. Melde den Fehler.

dpkg -c /var/cache/apt/archives/[PACKAGE-NAME].deb zeigt, was im Paket enthalten ist und installiert werden soll.

Andernfalls haben Sie möglicherweise Glück mit einigen Ubuntu-Paketen. Und am Ende ist es nicht schwer zu erstellen und mit checkinstallIhnen können Sie ganz einfach Ihre eigenen Pakete erstellen und die Quellen löschen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.