Wie lege ich fest, welche PostgreSQL-Version standardmäßig verwendet werden soll?


23

Ich habe 2 verschiedene Versionen von PostgreSQL auf meinem System installiert (Ubuntu Lucid):

  • /var/lib/postgresql/8.4
  • /var/lib/postgresql/9.0

Wenn ich einen PostgreSQL-Befehl wie createdb oder psql ausführe, wird standardmäßig die Version 9.0 verwendet.

Wie konfiguriere ich mein System so, dass stattdessen standardmäßig die Version 8.4 verwendet wird?

Antworten:


15

Die verschiedenen PostgreSQL-Befehlszeilentools kommunizieren standardmäßig mit dem Server, der den Standardport (5432) überwacht.

Sie können bestimmen, welchen Port jeder Server überwacht, indem Sie portin der /etc/postgresql/$VERSION/main/postgresql.confDatei nach der Variablen für den entsprechenden Server suchen .

Damit die Befehlszeilentools standardmäßig mit dem anderen Server kommunizieren, haben Sie zwei Möglichkeiten:

Zuerst können Sie die Ports umschalten, auf denen die beiden Server empfangsbereit sind, indem Sie die zuvor genannten Konfigurationsdateien bearbeiten und dann beide Server neu starten (wahrscheinlich möchten Sie jeden einzelnen Server stoppen, bevor Sie einen der beiden Server starten).

Alternativ können Sie die PGPORTUmgebungsvariable auf die Portnummer des gewünschten Standardservers setzen. Dies sollte sich auf alle Anwendungen auswirken, die die PostgreSQL-Clientbibliothek verwenden.


Verwenden Sie zum Auflisten der Inhalte der einzelnen Datenbankcluster psql -l -p PORT_NUMBER. Informationen zum Migrieren von Daten finden Sie in Abschnitt " 24.4. Migration zwischen Releases " in der PostgreSQL-Dokumentation.

Durch das Löschen alter Versionen von PostgreSQL wird der Verschleiß von Laptops und SSDs verringert, da weniger Schreibvorgänge auf der Festplatte ausgeführt werden.


Gute Antwort. Ziehen Sie außerdem in Betracht, die alten Versionen von postgres zu löschen. Jeder von ihnen verwendet RAM und schreibt einmal pro Minute auf die Festplatte (schlecht für SSDs und Laptops).
Bryce
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.