起動時にユーザーではなくユーザーとしてサービスを実行するように設定するにはどうすればよいですか?

起動時にユーザーではなくユーザーとしてサービスを実行するように設定するにはどうすればよいですか?

PostgreSQLサーバーがあり、ログイン後にログインするとコマンドラインから起動します。これは通常のPostgreSQLサービスとしては実行されず、私の代わりに実行され、データは私のホームディレクトリに保存され、別のポートで実行されます。

たとえば、サーバーが再起動したときに自分のユーザー権限でサーバーを起動するにはどうすればよいですか?

私が一般的に開始するコマンドは次のとおりです。

cd ~/pgdata01 && /usr/lib/postgresql/9.4/bin/postgres -D /home/user/pgdata01/data -c config_file=/home/user/pgdata01/config/postgresql.conf

ベストアンサー1

postgresql 単位ファイルをコピーします。

cp /usr/lib/systemd/system/postgresql.service \
   /etc/systemd/system/postgresql-userxy.service

次にpostgresql-userxy.serviceを編集し、セクションにおよびUser=を追加します。その後、サービスを有効にします。WorkingDirectory=[Service]

systemctl daemon-reload
systemctl enable postgresql-userxy.service

おすすめ記事