Zum Inhalt springen

PostgreSQL/Debian: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 8: Zeile 8:
Erforderliche Pakete: [https://packages.debian.org/postgresql postgresql] [https://packages.debian.org/postgresql-client postgresql-client]
Erforderliche Pakete: [https://packages.debian.org/postgresql postgresql] [https://packages.debian.org/postgresql-client postgresql-client]


# apt install postgresql postgresql-client
# apt install postgresql postgresql-client


Empfohlene Pakete:
Empfohlene Pakete:
Zeile 17: Zeile 17:
* Durchsuchen Sie die Debian-Pakete, um eine Liste der Möglichkeiten zu finden:
* Durchsuchen Sie die Debian-Pakete, um eine Liste der Möglichkeiten zu finden:


# apt search postgresql
# apt search postgresql


=== PGDG-Repository ===
=== PGDG-Repository ===
Zeile 31: Zeile 31:
Als Root:
Als Root:


# su -c /usr/bin/psql postgres
# su -c /usr/bin/psql postgres


Wenn Ihr System sudo verwendet, um Administratorrechte zu erhalten:
Wenn Ihr System sudo verwendet, um Administratorrechte zu erhalten:


$ sudo -u postgres psql
$ sudo -u postgres psql


=== Neuer Benutzer und Datenbank ===
=== Neuer Benutzer und Datenbank ===
Erstellen Sie mit ‚‘'adduser'‚‘ ein reguläres Benutzerkonto (überspringen Sie diesen Schritt, um ein bestehendes Konto zu verwenden):
Erstellen Sie mit ‚‘'adduser'‚‘ ein reguläres Benutzerkonto (überspringen Sie diesen Schritt, um ein bestehendes Konto zu verwenden):


# adduser mypguser #aus der normalen Shell
# adduser mypguser #aus der normalen Shell


Wechseln Sie zum Benutzer ‚‘'postgres'‚‘ und erstellen Sie einen neuen Datenbankbenutzer und eine Datenbank:
Wechseln Sie zum Benutzer ‚‘'postgres'‚‘ und erstellen Sie einen neuen Datenbankbenutzer und eine Datenbank:


# su - postgres
# su - postgres
$ createuser --pwprompt mypguser #aus der normalen Shell
$ createuser --pwprompt mypguser #aus der normalen Shell
$ createdb -O mypguser mypgdatabase
$ createdb -O mypguser mypgdatabase


Verbinden Sie sich als Benutzer mypguser mit der neuen Datenbank
Verbinden Sie sich als Benutzer mypguser mit der neuen Datenbank


# su - mypguser
# su - mypguser
$ psql mypgdatabase
$ psql mypgdatabase


oder, wenn der Benutzername des Betriebssystems nicht mit dem Datenbankbenutzernamen übereinstimmt:
oder, wenn der Benutzername des Betriebssystems nicht mit dem Datenbankbenutzernamen übereinstimmt:


$ psql -d mypgdatabase -h localhost -U mypguser
$ psql -d mypgdatabase -h localhost -U mypguser


Sie können auch eine ~/.pgpass-Datei verwenden
Sie können auch eine ~/.pgpass-Datei verwenden
Zeile 61: Zeile 61:
Fügen Sie eine Zeile für die Authentifizierung hinzu:
Fügen Sie eine Zeile für die Authentifizierung hinzu:


$ echo ‚hostname:port:mypgdatabase:mypguser:mypgpassword‘ >> ~/.pgpass
$ echo ‚hostname:port:mypgdatabase:mypguser:mypgpassword‘ >> ~/.pgpass


Sichern Sie die Datei
Sichern Sie die Datei
Zeile 69: Zeile 69:
Jetzt können Sie sich ganz einfach verbinden mit
Jetzt können Sie sich ganz einfach verbinden mit


$ psql -d mypgdatabase -h localhost -U mypguser
$ psql -d mypgdatabase -h localhost -U mypguser


Weitere Informationen zur Syntax finden Sie hier: [https://www.postgresql.org/docs/current/libpq-pgpass.html https://www.postgresql.org/docs/current/libpq-pgpass.html]
Weitere Informationen zur Syntax finden Sie hier: [https://www.postgresql.org/docs/current/libpq-pgpass.html https://www.postgresql.org/docs/current/libpq-pgpass.html]

Version vom 20. Juni 2025, 11:08 Uhr

PostgreSQL

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: postgresql postgresql-client

# 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

Siehe auch

Externe Links

  1. https://wiki.debian.org/PostgreSql
  2. Offizielle PostgreSQL-Website
  3. http://wiki.postgresql.org/wiki/GUI_Database_Design_Tools
  4. https://wiki.postgresql.org/wiki/Design_Tools
  5. Praktisches PostgreSQL
  6. https://www.cyberciti.biz/faq/howto-add-postgresql-user-account/
  7. Kernel-Dateien für PostgreSQL unter Debian aktivieren