To je asi správně.
Prosím ne použijte port 5432 pro PostgreSQL. Vyberte jiný než výchozí port mimo tento rozsah, například 5599 nebo tak něco. Změňte port úpravou postgresql.conf a nastavením port
směrnice. Může být užitečné jednoduše připojit include_dir = conf.d
nebo podobně ve vašem hlavním postgresql.conf
poté vytvořte datadir\conf.d\myapp.conf
s přepsáním vaší konfigurace.
Chcete-li nastavit heslo pro initdb
bez výzvy předejte --pwfile=/path/to/file
volba. První řádek bude přečten jako heslo. Viz initdb.
Váš plán odinstalace je rozumný a správný.
Přemýšlejte však o upgradech – neutahujte se do kouta. Budete chtít mít možnost nainstalovat 9.5 souběžně s 9.4 a pg_upgrade
, pokud nechcete použít pouze výpis a obnovení.
Doporučuji nainstalovat binární soubory PostgreSQL do %PROGRAMFILES%\MyApp\PostgreSQL\9.4
. Pravděpodobně byste měli umístit databázi do %PROGRAMDATA%\MyApp\PostgreSQL\9.4
místo %PROGRAMFILES%
vaší aplikace adresář. (Instalační program PostgreSQL by měl udělat totéž; jeho současné chování je historický artefakt, který by měl být opraven).
Zdokumentujte prosím, že vaše aplikace obsahuje PostgreSQL, aby ji nikdo „nečistil“, a nemáme tak další aplikaci, která by na pgsql-general chrlila zmatené uživatele. Je únavné vysvětlovat naštvaným uživatelům, že „my“ jsme na jejich systém nenainstalovali PostgreSQL, nemůžeme ho odstranit, pravděpodobně je tam, protože ho nainstalovalo něco, co používají, a pokud to smažou, přestane to fungovat . Podobně je únavné vysvětlovat uživatelům, kteří právě zabili procesy PostgreSQL a smazali svůj datový adresář PostgreSQL, že nemůžeme získat jejich databázi Poker Tracker (nebo cokoli jiného), protože ji právě smazali...
Zajistěte, aby vaše aplikace umožňovala uživatelům provádět výpisy a obnovení PostgreSQL.
Uživatelská příručka musí jasně vysvětlovat, že musí provést dodatečné zálohovací kroky k ochraně dat ve vaší aplikaci. K získání spolehlivé zálohy PostgreSQL nemůžete pouze použít Windows Backup, protože se jedná o více souborů, které je třeba zkopírovat dohromady; zkopíruje každý soubor v pořádku, ale kombinovaný výsledek bude nepoužitelný, pokud PostgreSQL nebyl zastaven před zálohováním. Chcete-li provést živou zálohu, musíte provést speciální kroky - pg_start_backup()
, copy, pg_stop_backup()
a archivujte další segmenty WAL nebo použijte pg_basebackup
.