Назад | Перейти на главную страницу

Установить PostgreSQL под другим системным пользователем, кроме «postgres»?

Мне нужно запустить мой ток Postgresql 9.3 под системным пользователем, отличным от postgres, скажите админ ИЛИ мне нужно установить Postgresql 9.3 с пользователем по умолчанию, как говорят admin на Ubuntu 12.04

Установленный PostgreSQL в Debian / Ubuntu по сути:

  • набор двоичных файлов для каждой версии, который любой пользователь потенциально может запустить для создания и управления новым экземпляром.
  • каталог данных для каждого экземпляра, который может использовать только его владелец.

Если исходная ситуация состоит из 9.3 двоичные файлы, устанавливаемые через пакеты Ubuntu, пользователь Unix, не использующий postgres, может создать экземпляр, выполнив:

/usr/lib/postgresql/9.3/bin/initdb --pgdata=$HOME/pginstance [other-options]

Затем запустите этот экземпляр с:

/usr/lib/postgresql/9.3/bin/pg_ctl -D $HOME/pginstance start

и остановите это:

/usr/lib/postgresql/9.3/bin/pg_ctl -D $HOME/pginstance stop

Очевидно $HOME/pginstance может быть везде, где у пользователя есть разрешение на запись.

Этот экземпляр не имеет отношения к postgres пользователь и сценарии, поставляемые с пакетами Ubuntu, не знают об этом и не заботятся об этом. Он полностью управляется пользователем, который его запустил. Он может сосуществовать с другими, но у каждого экземпляра должен быть свой порт (определенный в postgresql.conf внутри каталога данных).