Skip to main content

PostgreSQL

1.1. Allgemein

  • Rollout per Ansible-Rolle
  • basiert auf Docker

srv3306.lej.eis.network:5432

Datenbank: postgres

Benutzer: postgres

Pw: siehe serverpool oder docker-compose

1.2. Import

Die Dump-Files wurden als tar zur Verfügung gestellt

tar entpacken

mkdir /srv/postgresql/data/import_dump/
cp -r ../exx/z_backups/postgresql/rollenerfassung* /srv/postgresql/data/import_dump/

im entpackten Ordner befinden sich dat-Dateien und eine restore.sql

docker exec -it postgres bash
 
cd /var/lib/postgresql/data/import_dump/rollenerfassung_raspberrypi/
sed -e 's/\$\$PATH\$\$/\/tmp\/dvdrental/g' restore.sql  | grep --color dvdrental

mit

head -n 50 restore.sql

prüfen wie die Datenbank und der Benutzer heißt

Datenbank anlegen und Benutzer anlegen

CREATE DATABASE rollenerfassung_raspberrypi WITH TEMPLATE = template0 ENCODING = 'UTF8' LOCALE = 'German_Germany.1252';
 
ALTER DATABASE rollenerfassung_raspberrypi OWNER TO rollenerfassung;

in Ordner im Container kopieren

dann Berechtigung setzen

chown -R 70:70 /srv/postgresql/data/import_dump

/var/lib/postgresql/data/import_dump/rollenerfassung

mit diesen Befehl den Pfad in der sql ändern

im Container

sed -e 's/\$\$PATH\$\$/\/var\/lib\/postgresql\/data\/import_dump\/rollenerfassung/g' restore.sql  | psql -h localhost -p 5432 -U postgres -d rollenerfassung_server

CREATE USER rollenerfassung WITH PASSWORD 'xxxxx';
 
GRANT CONNECT ON DATABASE rollenerfassung_server TO rollenerfassung;
GRANT CONNECT ON DATABASE rollenerfassung_raspberrypi TO rollenerfassung;
 
CREATE DATABASE rollenerfassung_server WITH TEMPLATE = template0 ENCODING = 'UTF8' LOCALE = 'German_Germany.1252';
CREATE DATABASE rollenerfassung_raspberrypi WITH TEMPLATE = template0 ENCODING = 'UTF8' LOCALE = 'German_Germany.1252';
 
ALTER DATABASE rollenerfassung_raspberrypi OWNER TO rollenerfassung;
ALTER DATABASE rollenerfassung_server OWNER TO rollenerfassung

1.3. Wiederherstellung

docker exec -i postgres pg_restore --clean -U postgres -d rollenerfassung_server < restore.psql

1.4. Dump

docker exec $CONTAINER pg_dump -Fc -U postges $DATABASE > $OUTPUT/$DATABASE-$DATE.psql