PostgreSQL můžete spustit bez root priv vytvořením nové instance (kterou PostgreSQL nazývá „klastr“) a jejím spuštěním.
Nemůžete používat init skripty Ubuntu, nástroje pro obálkování jako pg_ctlcluster
atd., pokud to uděláte. Musíte používat pouze vlastní nástroje PostgreSQL.
Chcete-li vytvořit novou instanci PostgreSQL se superuživatelem rovným vašemu uživatelskému jménu, datovému adresáři ve vašem domovském adresáři a standardně povoleným md5 auth, použijte:
initdb -D $HOME/my_postgres -A md5 -U $USER
Upravte podle potřeby; viz initdb --help
.
Poté budete muset upravit postgresql.conf
pro změnu port
na jiný než výchozí, protože váš systém pravděpodobně provozuje svůj vlastní postgres na výchozím portu 5432. (Pokud chcete omezit přístup přísně na vás, můžete místo toho nastavit listen_addresses = ''
a unix_socket_directories = /home/myuser/postgres_socket
nebo cokoli jiného. Ale je jednodušší použít jiný port.)
Chcete-li to spustit:
pg_ctl -D $HOME/my_postgres -w start
Chcete-li se k němu připojit, zadejte port, který jste vybrali:
psql -p 5434 ...
(Pokud jste změnili unix_socket_directories
budete také chtít zadat cestu, kterou jste zadali, například -h /home/myuser/postgres_socket
.)
Chcete-li vytvořit psql
atd. ve výchozím nastavení se připojte k vašemu postgresu, upravte ~/.bashrc
přidat něco jako
export PGPORT=5434
ale všimněte si, že to také ovlivní výchozí port pro připojení k jiným hostitelům.
Chcete-li to zastavit:
pg_ctl -D $HOME/my_postgres -w stop
ale můžete ho také jednoduše vypnout bez zastavení, je mu to jedno a při dalším spuštění se bezpečně obnoví.
Chcete-li jej automaticky spustit, když se přihlásíte, když je nastaven ve vašem domovském adresáři, budete muset použít funkce spuštění při spuštění vašeho desktopového prostředí. Liší se v závislosti na prostředí a verzi, takže zde nemohu uvést podrobnosti; je to jiné pro GNOME 3, Unity (ubuntu), KDE, XFCE atd.
Všimněte si, že tento přístup stále používá systémové balíčky pro PostgreSQL. To je důležité, protože pokud odinstalujete (řekněme) PostgreSQL 9.4 a nainstalujete 9.6, vaše kopie ve vašem domovském adresáři přestane fungovat. Pokud chcete, aby byl zcela nezávislý na systémových balíčcích, což pravděpodobně děláte, pokud systém neovládáte, měli byste zkompilovat PostgreSQL ze zdroje nebo použít binární instalační program k instalaci do vašeho domovského adresáře.