PostgreSQL/Debian: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
K Textersetzung - „<div style="column-count:3">“ durch „<div style="column-count:2">“ |
||
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''{{BASEPAGENAME}}''' - Beschreibung | |||
PostgreSQL | == 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 | ||
* 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 == | == Installation == | ||
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: | |||
* [https://packages.debian.org/postgresql-doc postgresql-doc] - | * [https://packages.debian.org/postgresql-doc postgresql-doc] – PostgreSQL-Dokumentation | ||
* [https://packages.debian.org/phppgadmin phppgadmin] | * [https://packages.debian.org/phppgadmin 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 | # apt search postgresql | ||
=== PGDG Repository === | === PGDG-Repository === | ||
Wenn Sie eine andere Version als die derzeit für Ihre laufende [https://wiki.debian.org/DebianRelease DebianRelease] verfügbare verwenden müssen, können Sie das offizielle Repository von Postgresql mit einem Skript verwenden, das in [https://packages.debian.org/postgresql-common postgresql-common] unter <tt>/usr/share/postgresql-common/pgdg/apt verwaltet wird.postgresql.org.sh</tt> | |||
Weitere Informationen finden Sie hier: [https://wiki.postgresql.org/wiki/Apt 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 | # su -c /usr/bin/psql postgres | ||
Wenn Ihr System sudo verwendet, um Administratorrechte zu erhalten: | |||
$ sudo -u postgres psql | $ 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 # | # adduser mypguser #aus der normalen Shell | ||
Wechseln Sie zum Benutzer ‚‘'postgres'‚‘ und erstellen Sie einen neuen Datenbankbenutzer und eine Datenbank: | |||
# su - postgres | # su - postgres | ||
$ createuser --pwprompt mypguser # | $ 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 | |||
# su - mypguser | # su - mypguser | ||
$ psql mypgdatabase | $ psql mypgdatabase | ||
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 | |||
Fügen Sie eine Zeile für die Authentifizierung hinzu: | |||
$ echo | $ echo ‚hostname:port:mypgdatabase:mypguser:mypgpassword‘ >> ~/.pgpass | ||
Sichern Sie die Datei | |||
chmod 600 ~/.pgpass | chmod 600 ~/.pgpass | ||
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] | |||
== Migration == | == 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 https://wiki.postgresql.org/wiki/Using_pg_upgrade_on_Ubuntu/Debian] | [https://wiki.postgresql.org/wiki/Using_pg_upgrade_on_Ubuntu/Debian 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 <tt>/usr/share/doc/postgresql-common/README.Debian.gz</tt>. | |||
== Tutorial | == Tutorial-Dateien == | ||
PostgreSQL | Die PostgreSQL-Dokumentation verweist auf ein Tutorial, das im Paket [https://packages.debian.org/postgresql-doc postgresql-doc] enthalten ist. | ||
* | * Nach der Installation des Pakets finden Sie weitere Informationen unter <tt>/usr/share/doc/postgresql-doc-[version]/tutorial/README</tt>. | ||
== | == 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 | pg_lsclusters | ||
== pg_ctl | == Ersatz für pg_ctl == | ||
pg_ctl | pg_ctl ist ein PostgreSQL-Befehlszeilenprogramm, mit dem die Datenbank gesteuert werden kann | ||
* Debian | * Debian hat einen Perl-Wrapper für pg_ctl namens <tt>/usr/bin/pg_ctlcluster</tt> erstellt. | ||
* | * Verwenden Sie pg_ctlcluster immer dann, wenn Sie pg_ctl benötigen. | ||
* | * Um das Verhalten anzupassen, überprüfen Sie die Datei <tt>/etc/postgresql/[version]/[cluster]/pg_ctl.conf</tt>. | ||
Debian | Debian installiert ein SysV-init-kompatibles (Standard-)Startskript <tt>/etc/init.d/postgresql-[version]</tt> | ||
* | * Es kann zum Starten, Stoppen, Neustarten und Neuladen des Systems verwendet werden | ||
* | * Es ruft intern pg_ctlcluster auf | ||
== | == Dateispeicherorte == | ||
Debian | 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 <tt>/var/log/postgresql/</tt> erstellt. | |||
* | * Beim Starten der Datenbank-Engine wird eine Protokolldatei mit dem Namen <tt>postgresql-[version]-[cluster].log</tt> erstellt. | ||
== | == Ändern der Debian-Standardinstallation == | ||
Debian PostgreSQL | 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: <br/>pg_dropcluster --stop <version> main<br/>Beispiel: <br/>pg_dropcluster --stop 11 main | ||
:# | :# Führen Sie initdb mit Ihren Optionen aus | ||
* | * Beispiel: <br/>pg_createcluster --locale de_DE.UTF-8 --start 11 main | ||
Auf der Seite [https://wiki.debian.org/Locale Locale] erfahren Sie, wie Sie weitere Locales hinzufügen können | |||
== | == Installation == | ||
== Aufruf == | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
</syntaxhighlight> | |||
=== Optionen === | |||
{| class="wikitable sortable options gnu big" | |||
|- | |||
! Unix !! GNU !! Parameter !! Beschreibung | |||
|- | |||
| || || || | |||
|- | |||
|} | |||
=== Parameter === | |||
=== Umgebungsvariablen === | |||
=== Exit-Status === | |||
{| class="wikitable options col1center big" | |||
|- | |||
! Wert !! Beschreibung | |||
|- | |||
| 0 || Erfolg | |||
|- | |||
| >0 || Fehler | |||
|} | |||
== Anwendung == | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
</syntaxhighlight> | |||
=== Problembehebung === | |||
== Konfiguration == | |||
=== Dateien === | |||
{| class="wikitable options big" | |||
|- | |||
! Datei !! Beschreibung | |||
|- | |||
| || | |||
|- | |||
| || | |||
|} | |||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
<div style="column-count:2"> | |||
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> | |||
</div> | |||
---- | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | |||
=== Dokumentation === | |||
; Man-Page | |||
<!-- | |||
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] | |||
; Info-Pages | |||
--> | |||
=== Links === | |||
==== Projekt ==== | |||
==== Weblinks ==== | |||
# https://wiki.debian.org/PostgreSql | |||
# [https://packages.debian.org/postgresql PostgreSQL-Pakete in Debian] | |||
# [https://wiki.debian.org/DebianGis/UpdatingPostGIS DebianGis/UpdatingPostGIS] (beschreibt auch die Aktualisierung von postgresql) | |||
# [https://www.postgresql.org/ Offizielle PostgreSQL-Website] | |||
# [http://wiki.postgresql.org/wiki/GUI_Database_Design_Tools http://wiki.postgresql.org/wiki/GUI_Database_Design_Tools] | |||
# [https://wiki.postgresql.org/wiki/Design_Tools https://wiki.postgresql.org/wiki/Design_Tools] | |||
# [https://web.archive.org/web/20011216220127/http://www.commandprompt.com/ppbook/ Praktisches PostgreSQL] | |||
# [https://www.cyberciti.biz/faq/howto-add-postgresql-user-account/ https://www.cyberciti.biz/faq/howto-add-postgresql-user-account/] | |||
# [http://petereisentraut.blogspot.com/2011/06/enabling-core-files-for-postgresql-on.html Kernel-Dateien für PostgreSQL unter Debian aktivieren] | |||
[[Kategorie:PostgreSQL]] | |||
</noinclude> | |||
Aktuelle Version vom 28. Juni 2025, 11:15 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:
- 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