PostgreSQL-Datenbank

Der Dienst „eprd-postgresql“ startet nach Installation der Version 2.0/3.1 nicht mehr

Der Server-Dienst „eprd-postgresql“ wurde durch eine ehemalige Installation so konfiguriert, dass er im Kontext eines „eprd-User“ startet. Nach dem Update auf die Version 2.0 gibt es den User nicht mehr. Bitte daher dem Serverdienst das Systemkonto zuweisen.

PGAdminIII Fehlermeldung: „Access to Database denied“

Bitte passen Sie die Datei „Hba.conf“ an:
# TYPE DATABASE USER ADDRESS METHOD

# IPv4 local connections: host­ ­all all 127.0.0.1/32 md5
# IPv6 local connections: host all all ::1/128 md5

# Allow replication connections from localhost, by a user with the
# replication privilege.

#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5

Backup-Script für die „alten” Installationen ist nicht vorhanden

DotNet-Installationen, bei denen PostgreSQL separat installiert wurde, verfügen über kein hinterlegtes Backup-Script. Hierfür müssen häufig explizit der „backup_user“ und die „backup_role“ im „pgadminIII“ angelegt werden.

@echo off
set datestr=%date%
echo datestr is %datestr%
set BACKUP_FILE=VERZEICHNISNAMEXXXXX\postgrespackup_%datestr%.backup
echo backup file name is %BACKUP_FILE%
SET PGPASSWORD= bqseprdbackup
echo on
bin\pg_dump.exe -i -h 127.0.0.1 -p 5432 -U backup_user -F c -b -v -f %BACKUP_FILE% eprd_db

Eventuell ist ein „backup_user” einzurichten

1. backup_role:
CREATE ROLE backup_role
SUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE REPLICATION;

2. backup_user:
CREATE ROLE backup_user LOGIN
ENCRYPTED PASSWORD 'md52cea66d997445510869e65b05e5341e9'
SUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE REPLICATION;
GRANT backup_role TO backup_user;

Server im pgadminIII „eprd_db” registrieren

Häufig muss vor der Nutzung des Datenbank-Explorers (pgadminIII) der Server registriert werden. Nach der erfolgreichen Registrierung (Passwortspeicherung deaktivieren) muss der Objektbrowser über die F5-Taste aktualisiert werden. Dann ist die Datenbank „eprd_db“ im Treeview sichtbar.

Skript zum nachträglichen Setzen der Rechte des „EprdReadonlyUser“

Dieses Skript muss in der Ziel-Datenbank (z.B. eprd_db_xxx) ausgeführt werden.
Bei Mehrmandanten-Lösungen muss der Datenbank-Name der jeweiligen Datenbank angepasst werden:

GRANT CONNECT ON DATABASE eprd_db TO „EprdReadonlyUser“;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO „EprdReadonlyUser“