Ich habe PostgreSQL 8.4 und 9.0 auf demselben Server (Ubuntu Lucid) ausgeführt.
Ich habe beide über apt-get installiert (8.4 mit den Standardpaketquellen und 9.0 nach dem Hinzufügen des ppa von https://launchpad.net/~pitti/+archive/postgresql ).
Wenn ich einen Befehl wie "createdb" über die Befehlszeile ausführe oder die "psql" -Shell starte, wird auf meinem System standardmäßig PostgreSQL Version 8.4 verwendet.
Wie erzwinge ich diese Befehle, um PostgreSQL 9.0 anstelle von 8.4 zu verwenden?
ubuntu
postgresql
Kaffeemühle
quelle
quelle
Antworten:
Angenommen, Ubuntu macht dasselbe wie Debian, dann werden Ihre beiden PostGreSQL-Instanzen auf verschiedenen Ports ausgeführt.
Sie können die Konfigurationsdateien leicht überprüfen, um festzustellen, welche Version sich an welchem Port befindet:
Die meisten PostGreSQL-Befehle verwenden die Option "-p ####" oder "--port = ####", sodass Sie damit die gewünschte Version auswählen können.
quelle
Verwenden Sie
--cluster
z. B. die Option (vorausgesetzt, beide Cluster werden als Standardhaupt angegeben):Generische Schemata sind:
Verwenden Sie den
pg_lsclusters
Befehl, um alle installierten Cluster (Name, Port, Status, Datenverzeichnis usw.) aufzulisten.Überprüfen Sie
man pg_wrapper
für weitere Informationen.quelle
pg_wrapper
ist Debians Erweiterung. Im Wesentlichen umschließt es den Befehlpsql
( dhpsql
eine symbolische Verknüpfung zumpg_wrapper
Skript) mit mehreren neuen Optionen, um die Handhabung mehrerer Cluster zu erleichtern.Sie können verwenden, um
dpkg -L <packagename>
zu sehen, welche Dateien ein bestimmtes Paket besitzt. Führen Sie es mit dem Paket postgresql 9 aus und sehen Sie, wo der Befehl createdb für diese Version gespeichert wurde.Die meisten postgresql-Befehle funktionieren versionübergreifend mit einer geeigneten Auswahl der Datenbank nach Port oder Pfad, dies gilt jedoch natürlich nicht für das Starten von Skripten und Erstellungsbefehlen.
quelle