Administration/Dienste/PostgreSQL
PostreSQL
Dies ist die Dokumentation zu unserem PostgreSQL-Server. Der PostgreSQL-Server wird auf db01.ffnw.de betrieben, alle Datenbanken sind von extern erreichbar. Zur Administration empfielt sich https://www.pgadmin.org/.
Als Alternative zu PostgreSQL betreiben wir außerdem einen MySQL-Server.
Referenzen:
- https://wiki.debian.org/PostgreSql
- https://vpsineu.com/blog/how-to-setup-and-configure-postgresql-9-4-on-debian-8/
- https://stackoverflow.com/questions/3278379/how-to-configure-postgresql-to-accept-all-incoming-connections
Installation
apt-get install postgresql postgresql-contrib postgresql-client autopostgresqlbackup
Erweiterungen
Liste aller installierten Erweiterungen anzeigen:
su postgres psql SELECT * FROM pg_extension;
Häufig benötigte Erweiterungen installieren
su postgres psql # Statistiken für pgAdmin3 # https://www.postgresql.org/docs/9.5/static/adminpack.html CREATE EXTENSION adminpack;
Referenzen:
Backup
Auf dem Server läuft autopostgresqlbackup und führt tägliche Backups durch. Diese liegen in /var/lib/autopostgresqlbackup/.
Starten & Stoppen
Logs
- tail -f /var/log/postgresql/postgresql-9.4-main.log
- systemctl -u postgresql
Externe Verbindungen erlauben
/etc/postgresql/9.4/main/postgresql.conf
listen_addresses = '*' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost'; use '*' for all # (change requires restart)
/etc/postgresql/9.4/main/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: #host all all 127.0.0.1/32 md5 # IPv4 global connections: #host all all 0.0.0.0/0 md5 # IPv6 local connections: #host all all ::1/128 md5 #IPv6 global connections: #host all all ::0/0 md5 # All IP-Adresses host all all all md5
Neuen Benutzer und Datenbank anlegen
In most cases the following will be enough:
su postgres # -D The new user will not be allowed to create databases. # -R The new user will not be allowed to create new roles. # -S The new user will not be a superuser. # -P Prompt for password createuser -DRSP puppetdb createdb -E UTF8 -O puppetdb puppetdb exit
For more individual setups use
su postgres createuser --interactive --pwprompt
References:
- https://www.postgresql.org/docs/9.4/static/app-createuser.html
- https://www.postgresql.org/docs/9.4/static/app-createdb.html
PhpPgAdmin
Update
Ein Update von einer minor-version auf die nächste muss manuell durchgeführt werden.
sudo pg_dropcluster --stop NEWVERSION main sudo pg_upgradecluster -v NEWVERSION OLDVERSION main
Rederenzen: