Zum Inhalt springen

PostgreSQL/Debian: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 3: Zeile 3:
== Beschreibung ==
== Beschreibung ==
[https://en.wikipedia.org/wiki/PostgresSQL PostgreSQL], auch bekannt als Postgres, ist ein freies und quelloffenes relationales Datenbankmanagementsystem (RDBMS) mit Schwerpunkt auf Erweiterbarkeit und SQL-Konformität
[https://en.wikipedia.org/wiki/PostgresSQL 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.
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.
* Diese Seite beschreibt die wichtigsten Unterschiede zur generischen PostgreSQL-Installation, die von Debian verwendet wird.



Version vom 20. Juni 2025, 11:41 Uhr

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:

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
  1. Nehmen Sie Root-Rechte an
  2. Führen Sie den folgenden Befehl aus:
    pg_dropcluster --stop <version> main
    Beispiel:
    pg_dropcluster --stop 11 main
  3. 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

  1. https://wiki.debian.org/PostgreSql
  2. PostgreSQL-Pakete in Debian
  3. DebianGis/UpdatingPostGIS (beschreibt auch die Aktualisierung von postgresql)
  4. Offizielle PostgreSQL-Website
  5. http://wiki.postgresql.org/wiki/GUI_Database_Design_Tools
  6. https://wiki.postgresql.org/wiki/Design_Tools
  7. Praktisches PostgreSQL
  8. https://www.cyberciti.biz/faq/howto-add-postgresql-user-account/
  9. Kernel-Dateien für PostgreSQL unter Debian aktivieren