====== 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: PGPASSWORD=Geheim123 psql -U $admin -h $Hostname -p $Port -d $datenbank --set=sslmode=require * 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: pg_dropcluster --stop 11 main - pg_upgradecluster -v 11 9.6 main - su postgres - pg_ctlcluster 11 main start - systemctl status postgresql - 9.6-Pakete entfernen ==== backup ==== # oder su -l postgres sudo postgres pg_dump DB > DB.sql CURRENT_DATE=$(date +%Y%m%d_%H%M) export PGPASSWORD="GEHEIM" pg_dumpall -h localhost -U postgres > $CURRENT_DATE.sql ===== 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 ==== FATAL: could not access private key file "/etc/ssl/private/ssl-cert-snakeoil.key": Permission denied Debian12 postgres ist sollte bereits Mitglied der Gruppe "ssl-cert" sein: usermod -aG ssl-cert postgres Problem: /etc/ssl/private ist chmod 700 mit root.root: chgrp ssl-cert /etc/ssl/private chmod g+rx /etc/ssl/private