datenbanken:postgresql

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
datenbanken:postgresql [2008/06/30 11:29] stdatenbanken:postgresql [2023/11/14 15:57] (aktuell) st
Zeile 1: Zeile 1:
 +====== PostgreSQL ======
 +[[wpde>PostgreSQL]] ist eine der ältesten und fortgeschrittenen objektrelationalen Datenbankverwaltungssysteme (ORDBMS) und ist unter einer [[wpde>BSD-Lizenz]] freigegeben. Es ist SQL92/SQL99/SQL2003-Standard-konform.
  
 +===== Links =====
 +  * [[http://ulm.ccc.de/ChaosSeminar/2006/11_PostgreSQL|CCC Ulm Vortrag - PostgreSQL - Ein Elephant vergisst nie]]
 +  * [[http://www.postgresql.org/docs/|Documentation]]
 +  * [[http://www.pgug.de/index.php|PostgreSQL Usergroup Germany]]
 +  * [[http://www.it-academy.cc/article/271/Datenbanken.html|Datenbankbegriffe]]
 +  * [[http://searchopensource.techtarget.com/originalContent/0,289142,sid39_gci1231930,00.html|Postgres slides in between Oracle, MySQL]]
 +
 +  * [[http://www.phpfreaks.com/tutorials/60/0.php|Using PostgreSQL With PHP]]
 +  * [[http://www.go4expert.com/forums/showthread.php?t=96|Tutorials and Learning Materials for PostgreSQL]]
 +
 +
 +===== Verwaltung =====
 +
 +  * [[http://pgadmin.org/|phppgadmin]] [[wpde>PhpPgAdmin]]
 +  * [[http://sourceforge.net/projects/pgaccess/|pgaccess]]
 +
 +
 +===== Installation =====
 +
 +[[software:Ansible]]-rolle: https://github.com/geerlingguy/ansible-role-postgresql
 +
 +===== Admin-tätigkeiten =====
 +
 +Verbindung von der Shell:
 +<code bash>PGPASSWORD=Geheim123 psql -U $admin -h $Hostname -p $Port -d $datenbank --set=sslmode=require</code>
 +
 +  * zu Datenbank $Datenbank verbinden: \c Datenbank1
 +  * Tabellen auflisten: \dt
 +
 +==== upgrade debian9 zu debian 10 ====
 +
 +Debian 9 hat Version 9.6.x, debian 10 hat Version 11.x.
 +
 +Vorgehensweise bei disz-upgrade:
 +  - leeren pg11 cluster entfernen: <code bash>pg_dropcluster --stop 11 main</code>
 +  - <code bash>pg_upgradecluster -v 11 9.6 main</code>
 +  - <code bash>su postgres</code>
 +  - <code bash>pg_ctlcluster 11 main start</code>
 +  - <code bash>systemctl status postgresql</code>
 +  - 9.6-Pakete entfernen
 +
 +==== backup ====
 +
 +# oder su -l postgres
 +sudo postgres pg_dump DB > DB.sql
 +
 +<code bash>
 +CURRENT_DATE=$(date +%Y%m%d_%H%M)
 +export PGPASSWORD="GEHEIM"
 +pg_dumpall -h localhost -U postgres > $CURRENT_DATE.sql
 +</code>
 +
 +
 +===== Fehlerbehebung =====
 +
 +==== Konfguration interaktiv prüfen ====
 +
 +
 +''sudo -u postgres /usr/lib/postgresql/15/bin/postgres --config-file=/etc/postgresql/15/main/postgresql.conf -D /var/lib/postgresql/15/main; echo $?''
 +
 +
 +==== SSL Cert nicht lesbar ====
 +
 +<file>FATAL:  could not access private key file "/etc/ssl/private/ssl-cert-snakeoil.key": Permission denied</file>
 +
 +Debian12 postgres ist sollte bereits Mitglied der Gruppe "ssl-cert" sein: <code bash>usermod -aG ssl-cert postgres</code>
 +
 +Problem: /etc/ssl/private ist chmod 700 mit root.root:
 +
 +<code bash>
 +chgrp ssl-cert /etc/ssl/private
 +chmod g+rx /etc/ssl/private
 +</code>