PostgreSQL/Debian: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „= PostgreSql = [https://en.wikipedia.org/wiki/PostgresSQL PostgreSQL], also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL has extensive and good help that should be the first source of information regarding this database product. This page outlines main differences to generic PostgreSQL installation used by Debian. == Installation == Required packages:…“ |
K Textersetzung - „<div style="column-count:3">“ durch „<div style="column-count:2">“ |
||
(16 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 | |||
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 | |||
=== 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 | |||
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 #aus der normalen Shell | |||
Wechseln Sie zum Benutzer ‚‘'postgres'‚‘ und erstellen Sie einen neuen Datenbankbenutzer und eine Datenbank: | |||
# 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 | |||
$ 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 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