无法在 Ubuntu 22 上使用 systemd 服务覆盖更改 Postgresql 数据目录

问题描述 投票:0回答:0

我正在尝试更改 Postgres 用于查找其配置文件的数据目录。

我更新了 Ubuntu 22 和新安装的 Postgresql@15。

为了保持对我的 Postgres 配置文件的版本控制,我已经将默认配置复制到我的服务器配置存储库中的新数据目录,

/usr/local/apps/server-configs/configs/postgres/postgres_data/
.

Postgresql 将其服务文件安装到这些路径:(/lib,而不是 /etc):

/lib/systemd/system/postgresql.service
/lib/systemd/system/[email protected]

通过

sudo systemctl edit postgresql
sudo systemctl edit [email protected]
,我在两个位置都添加了以下服务环境变量分配:

[Service]
Environment=
Environment=PGDATA=/usr/local/apps/server-configs/configs/postgres/postgres_data/

双重

Environment
声明可能不正确。在解决这个问题时,我在某处读到必须将它们设置为清除之前的任何内容。

这又创建了 2 个覆盖文件:

postgresql.service.d/override.conf
[email protected]/override.conf

然后我做了一个守护进程重新加载并重新启动了 Postgres,只是为了好玩。

sudo systemctl daemon-reload
sudo systemctl restart postgresql

最后检查新的数据目录是否被 Postgres 拾取,我连接到数据库并通过这种方法检查:

sudo -iu postgres
psql
postgres@logs:~$ psql

psql (15.2 (Ubuntu 15.2-1.pgdg22.04+1))
Type "help" for help.

postgres=# SHOW config_file;
               config_file               
-----------------------------------------
 /etc/postgresql/15/main/postgresql.conf
(1 row)

我一直在阅读很多演练,这些演练或多或少将其描述为解决此问题的正确方法。但无论我一直在尝试什么,配置文件仍然指向已安装的版本,而不是我

server-configs
存储库中的版本。

我错过了什么?谢谢!

postgresql systemd
© www.soinside.com 2019 - 2024. All rights reserved.