#postgresql #postgresql-13
Вопрос:
Документация https://www.postgresql.org/docs/13/server-start.html предлагает эту команду:
$ postgres -D /usr/local/pgsql/data
Но с помощью этой команды я получаю следующую ошибку:
Запуск сервера PostgreSQL пользователем с правами администратора не допускается. Сервер должен быть запущен с непривилегированным пользователем, чтобы предотвратить какие-либо проблемы с безопасностью на сервере. Дополнительную информацию о чистоте сервера см. в документации.*
Ответ №1:
Вы должны использовать pg_ctl
для запуска сервера — это гарантирует, что права администратора будут удалены во время запуска.
Что-то вроде:
pg_ctl -D c:/Data/PostgresData start
Вы можете зарегистрировать Postgres в службе Windows с помощью pg_ctl
Параметры задокументированы в руководстве
pg_ctl register -N postgresql-13 -D c:/Data/PostgresData
Это должно быть сделано с правами администратора.
По умолчанию служба настроена на автоматический запуск, вы можете отключить это, если хотите. Затем вы можете запустить его вручную с помощью:
net start postgresql-13
(Опять же с привилегированной учетной записью администратора)
Комментарии:
1. Пожалуйста, не могли бы вы разместить ссылку, объясняющую, как установить postgres в качестве службы Windows ? В документации показано несколько способов его установки.
2. @DONGMOBERNARDGERAUD:
pg_ctrl register ...
как объяснено здесь3. Спасибо вам за вашу помощь. Все команды
$pg_ctl -D "C:Program FilesPostgreSQL13data" option
теперь работают. После запуска команды$pg_ctl -D "C:Program FilesPostgreSQL13data" start
файл services.msc показывает , что postgresql-x64-13 — сервер PostgreSQL 13 запущен.4. Размещение каталога данных (или фактически любых данных приложения) ниже
c:Program Files
-действительно плохая идея.5. Вы правы, у меня уже были некоторые проблемы с этим в Android sdk.