Nejsem odborník na to a to, ale osobně si myslím, že...
S tímto na následující řádky nahlížejte prosím trocho shovívavěji. ;-)
Nicméně i já si osobně myslím, že problém souběžného vývoje několika projektů běžících na různých verzích databáze PostgreSQL celkem dobře řeší využití moderního nástroje Docker. Jenže ale protože ještě pořád nemáme rozchozeno a doladěno, co je pro vývoj třeba, rozhodl jsem se zkusit "starou" cestu spuštění databázových serveru současně. Na to jsem našel celkem podrobná návod Managing Multiple PostgreSQL Instances on Ubuntu/Debian - DZone Database potažmo Managing Multiple PostgreSQL Instances on Ubuntu/Debian - Percona Database Performance Blog, je to ten stejný postup od toho stejného autora.
Návod nebudu kopírovat, prostě a jednoduše při běžící verzi třeba 9.6 doinstalujte 11. Ta se neinstaluje "vedle", udělá si vlastní adresáře a spustí vlastní cluster s novým portem. Úplně bez problémů. Co byl problém tak to, že se mi zaboha nedařilo do databáze přihlásit. Defaultní uživatel postgres neměl heslo (?) a přitom všechny nástroje jej striktně vyžadují.
Pomohlo mi až, jak píší na PostgreSQL: How to change PostgreSQL user password? - Stack Overflow, přihlásit se do databáze bez hesla:
sudo -u postgres psql postgres -p 5435
A heslo nastavit:
ALTER USER postgres WITH PASSWORD 'postgres';
A pak jsem se už připojil a začal normálně pracovat. Podstatné je při všech operacích s databází nezapomenout na port! Port je to jediné, čím se databázové servery při většině operací rozlišují.
Při googlení jsem ještě prolítl Can you start two (or more) PostgreSQL instances against the same data directory? - Blog dbi services, Running Multiple PostgreSQL Instances on a Single Host | Severalnines a několik dalších odkazů.
Pozor na bezohlednost některých aplikací, co jsou schopné ukrást neomaleně port pro sebe (FlexiBee třeba). Stačí si vypsat clustery příkazem pg_clusters a po chvilce nevěřícného zírání přenastavit porty.
OdpovědětVymazat