PostgreSQL/Debian
PostgreSQL/Debian - Beschreibung
Beschreibung
PostgreSQL, auch bekannt als Postgres, ist ein freies und quelloffenes relationales Datenbankmanagementsystem (RDBMS) mit Schwerpunkt auf Erweiterbarkeit und SQL-Konformität
- PostgreSQL verfügt über eine umfangreiche und gute Hilfe, die die erste Informationsquelle zu diesem Datenbankprodukt sein sollte.
- Diese Seite beschreibt die wichtigsten Unterschiede zur generischen PostgreSQL-Installation, die von Debian verwendet wird.
Installation
Erforderliche Pakete:
# apt install postgresql postgresql-client
Empfohlene Pakete:
- postgresql-doc – PostgreSQL-Dokumentation
- phppgadmin – Webbasiertes Verwaltungstool für PostgreSQL
Bitte beachten Sie, dass die prozeduralen Sprachen separat installiert werden (plpgsql ist standardmäßig enthalten).
- Durchsuchen Sie die Debian-Pakete, um eine Liste der Möglichkeiten zu finden:
# apt search postgresql
PGDG-Repository
Wenn Sie eine andere Version als die derzeit für Ihre laufende DebianRelease verfügbare verwenden müssen, können Sie das offizielle Repository von Postgresql mit einem Skript verwenden, das in postgresql-common unter /usr/share/postgresql-common/pgdg/apt verwaltet wird.postgresql.org.sh
Weitere Informationen finden Sie hier: https://wiki.postgresql.org/wiki/Apt
Benutzerzugriff
Sowohl der Standard-Datenbankbenutzer als auch die Standard-Datenbank heißen „postgres“
Sie benötigen Administratorrechte
Als Root:
# su -c /usr/bin/psql postgres
Wenn Ihr System sudo verwendet, um Administratorrechte zu erhalten:
$ sudo -u postgres psql
Neuer Benutzer und Datenbank
Erstellen Sie mit ‚‘'adduser'‚‘ ein reguläres Benutzerkonto (überspringen Sie diesen Schritt, um ein bestehendes Konto zu verwenden):
# adduser mypguser #aus der normalen Shell
Wechseln Sie zum Benutzer ‚‘'postgres'‚‘ und erstellen Sie einen neuen Datenbankbenutzer und eine Datenbank:
# su - postgres $ createuser --pwprompt mypguser #aus der normalen Shell $ createdb -O mypguser mypgdatabase
Verbinden Sie sich als Benutzer mypguser mit der neuen Datenbank
# su - mypguser $ psql mypgdatabase
oder, wenn der Benutzername des Betriebssystems nicht mit dem Datenbankbenutzernamen übereinstimmt:
$ psql -d mypgdatabase -h localhost -U mypguser
Sie können auch eine ~/.pgpass-Datei verwenden
Fügen Sie eine Zeile für die Authentifizierung hinzu:
$ echo ‚hostname:port:mypgdatabase:mypguser:mypgpassword‘ >> ~/.pgpass
Sichern Sie die Datei
chmod 600 ~/.pgpass
Jetzt können Sie sich ganz einfach verbinden mit
$ psql -d mypgdatabase -h localhost -U mypguser
Weitere Informationen zur Syntax finden Sie hier: https://www.postgresql.org/docs/current/libpq-pgpass.html
Migration
Siehe /usr/share/doc/postgresql-common/README.Debian.gz Abschnitt „Standardcluster und Aktualisierung”
Alternativ können Sie Folgendes anpassen und verwenden:
https://wiki.postgresql.org/wiki/Using_pg_upgrade_on_Ubuntu/Debian
Dokumentation
Einen Überblick über die PostgreSQL-Architektur von Debian, Anweisungen für einen schnellen Einstieg und Verweise auf die Programme und Manpages finden Sie unter /usr/share/doc/postgresql-common/README.Debian.gz.
Tutorial-Dateien
Die PostgreSQL-Dokumentation verweist auf ein Tutorial, das im Paket postgresql-doc enthalten ist.
- Nach der Installation des Pakets finden Sie weitere Informationen unter /usr/share/doc/postgresql-doc-[version]/tutorial/README.
Auflisten vorhandener Datenbankcluster
Verwenden Sie den Befehl pg_lsclusters, um installierte Cluster zu überprüfen und einige grundlegende Informationen abzurufen, z. B.: Version (Hauptversion), Name, Port, Status (online oder offline), Eigentümer, Datenverzeichnis und Protokolldatei
pg_lsclusters
Ersatz für pg_ctl
pg_ctl ist ein PostgreSQL-Befehlszeilenprogramm, mit dem die Datenbank gesteuert werden kann
- Debian hat einen Perl-Wrapper für pg_ctl namens /usr/bin/pg_ctlcluster erstellt.
- Verwenden Sie pg_ctlcluster immer dann, wenn Sie pg_ctl benötigen.
- Um das Verhalten anzupassen, überprüfen Sie die Datei /etc/postgresql/[version]/[cluster]/pg_ctl.conf.
Debian installiert ein SysV-init-kompatibles (Standard-)Startskript /etc/init.d/postgresql-[version]
- Es kann zum Starten, Stoppen, Neustarten und Neuladen des Systems verwendet werden
- Es ruft intern pg_ctlcluster auf
Dateispeicherorte
Debian trennt die Datenbankkonfiguration von den Datenbankdateien, im Gegensatz zur generischen PostgreSQL-Installation, bei der alles im selben Verzeichnis abgelegt wird
- Beachten Sie, dass Debian mehrere Cluster und sogar verschiedene Versionen von PostgreSQL auf demselben Host zulässt
Konfigurationsdateien: /etc/postgresql/[version]/[cluster]/Binärdateien: /usr/lib/postgresql/[version]Datendateien: /var/lib/postgresql/[version]/[cluster]
Protokolldateien: Bei der Installation von PostgreSQL wird das Protokollverzeichnis /var/log/postgresql/ erstellt.
- Beim Starten der Datenbank-Engine wird eine Protokolldatei mit dem Namen postgresql-[version]-[cluster].log erstellt.
Ändern der Debian-Standardinstallation
Die Debian-PostgreSQL-Installation ruft automatisch initdb auf, d. h.
- sie initialisiert den Cluster mit der Standardkodierung und -lokalität
- Um die Lokalität (und möglicherweise andere Optionen in initdb) zu ändern, löschen Sie den vorhandenen Standardcluster und erstellen Sie einen neuen:
- Warnung
- Der folgende Vorgang löscht offensichtlich alle Daten in den Cluster-Datenbanken
- Führen Sie diesen Vorgang unmittelbar nach der Installation des Basispakets aus
- Nehmen Sie Root-Rechte an
- Führen Sie den folgenden Befehl aus:
pg_dropcluster --stop <version> main
Beispiel:
pg_dropcluster --stop 11 main - Führen Sie initdb mit Ihren Optionen aus
- Beispiel:
pg_createcluster --locale de_DE.UTF-8 --start 11 main
Auf der Seite Locale erfahren Sie, wie Sie weitere Locales hinzufügen können
Installation
Aufruf
Optionen
Unix | GNU | Parameter | Beschreibung |
---|---|---|---|
Parameter
Umgebungsvariablen
Exit-Status
Wert | Beschreibung |
---|---|
0 | Erfolg |
>0 | Fehler |
Anwendung
Problembehebung
Konfiguration
Dateien
Datei | Beschreibung |
---|---|
Anhang
Siehe auch
Dokumentation
- Man-Page
Links
Projekt
Weblinks
- https://wiki.debian.org/PostgreSql
- PostgreSQL-Pakete in Debian
- DebianGis/UpdatingPostGIS (beschreibt auch die Aktualisierung von postgresql)
- Offizielle PostgreSQL-Website
- http://wiki.postgresql.org/wiki/GUI_Database_Design_Tools
- https://wiki.postgresql.org/wiki/Design_Tools
- Praktisches PostgreSQL
- https://www.cyberciti.biz/faq/howto-add-postgresql-user-account/
- Kernel-Dateien für PostgreSQL unter Debian aktivieren