PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie installiere ich Postgres mit NSIS mit allen Parametern?

Das ist ungefähr richtig.

Bitte nicht Verwenden Sie Port 5432 für PostgreSQL. Wählen Sie einen nicht standardmäßigen Port aus, der weit außerhalb dieses Bereichs liegt, z. B. 5599 oder so. Ändern Sie den Port, indem Sie postgresql.conf ändern und den port festlegen Richtlinie. Vielleicht finden Sie es nützlich, einfach include_dir = conf.d anzuhängen oder ähnlich in Ihrer Haupt-postgresql.conf Erstellen Sie dann eine datadir\conf.d\myapp.conf mit Ihren Konfigurationsüberschreibungen.

Um das Passwort für initdb festzulegen Übergeben Sie ohne Aufforderung --pwfile=/path/to/file Möglichkeit. Die erste Zeile wird als Passwort gelesen. Siehe initdb.

Ihr Deinstallationsplan ist vernünftig und korrekt.

Denken Sie jedoch an Upgrades – stellen Sie sich nicht in eine Ecke. Sie sollten in der Lage sein, 9.5 parallel zu 9.4 und pg_upgrade zu installieren , es sei denn, Sie möchten nur dump und restore verwenden.

Ich schlage vor, die PostgreSQL-Binärdateien in %PROGRAMFILES%\MyApp\PostgreSQL\9.4 zu installieren . Sie sollten die Datenbank wahrscheinlich in %PROGRAMDATA%\MyApp\PostgreSQL\9.4 ablegen anstelle von %PROGRAMFILES% Ihrer App Verzeichnis. (Das PostgreSQL-Installationsprogramm sollte dasselbe tun; sein aktuelles Verhalten ist ein historisches Artefakt, das behoben werden sollte).

Bitte dokumentieren Sie, dass Ihre Anwendung PostgreSQL bündelt, damit niemand es „aufräumt“, und wir haben nicht noch eine Anwendung, die verwirrte Benutzer auf pgsql-general ausspuckt. Es wird ermüdend, wütenden Benutzern zu erklären, dass "wir" PostgreSQL nicht auf ihrem System installiert haben, wir können es nicht entfernen, es ist wahrscheinlich da, weil es von etwas installiert wurde, das sie verwenden, und wenn sie es löschen, funktioniert das nicht mehr . In ähnlicher Weise wird es ermüdend, Benutzern zu erklären, die gerade die PostgreSQL-Prozesse beendet und ihr PostgreSQL-Datenverzeichnis gelöscht haben, dass wir ihre Poker Tracker- (oder was auch immer) Datenbank nicht zurückbekommen, weil sie sie gerade gelöscht haben ...

Stellen Sie sicher, dass Ihre App Funktionen bereitstellt, um PostgreSQL-Dumps und -Wiederherstellungen für Benutzer durchzuführen.

Das Benutzerhandbuch muss deutlich erklären, dass sie zusätzliche Backup-Schritte unternehmen müssen, um die Daten in Ihrer App zu schützen. Sie können nicht einfach die Windows-Sicherung verwenden, um eine zuverlässige PostgreSQL-Sicherung zu erhalten, da es sich um mehrere Dateien handelt, die zusammen kopiert werden müssen. Es kopiert jede Datei in Ordnung, aber das kombinierte Ergebnis ist unbrauchbar, es sei denn, PostgreSQL wurde vor der Sicherung gestoppt. Um eine Live-Sicherung durchzuführen, müssen Sie spezielle Schritte ausführen - pg_start_backup() , kopieren, pg_stop_backup() und archivieren Sie die zusätzlichen WAL-Segmente oder verwenden Sie pg_basebackup .