如何在OS X上重新启动postgresql?

cwdobuhd  于 2022-12-12  发布在  PostgreSQL
关注(0)|答案(5)|浏览(173)

找不到如何在OS X上使用命令行重新启动postgresql,以应用pg_hba. conf中的更改。我尝试了来自Web和文档的各种命令。如何做正确的?
编辑:尝试查找路径的响应如下所示:

TheKotik       73454   0.0  0.0  2619360    804   ??  S     7:20PM   0:01.57 /Applications/Postgres.app/Contents/Versions/9.6/bin/postgres -D /Users/TheKotik/Library/Application Support/Postgres/var-9.6 -p 5432
cyvaqqii

cyvaqqii1#

如果postgres是使用homebrew安装的,您也可以运行以下命令:

brew services restart postgres
0tdrvxhp

0tdrvxhp2#

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log restart

/usr/local/var/postgres是数据库存储区的位置,/usr/local/var/postgres/server.log是我的postgres日志文件,最后一个字restart是这里的关键字,你也可以用start来启动服务。
可以通过运行ps aux | grep postgres | grep -- -D找到数据库存储区的位置

myss37ts

myss37ts3#

对于要应用的hba.conf更改,您不需要重新启动-只需重新加载即可。
在psql中运行select pg_reload_conf()
同时:
在psql中运行show data_directory以查找您的数据目录...

rkue9o1l

rkue9o1l4#

对于在macOS Catalina 10.15.7上运行的PostgreSQL 13.4,我的数据文件的位置不同,因此命令也不同。

sudo -u postgres /Library/PostgreSQL/13/bin/pg_ctl -D /Library/PostgreSQL/13/data restart

不知道为什么我的数据目录和其他的不一样,但是它起作用了。我还必须使用

sudo ls -l /Library/PostgreSQL/13/data/
7ivaypg9

7ivaypg95#

如果你想确保你重新启动的是正确的Postgres版本(例如版本15),并且你的Postgres没有作为服务安装,那么你可以使用pg_ctl命令并指定你的数据目录。你的数据目录在哪里?请执行以下操作:

% psql
viglione=# SELECT name, setting, context FROM pg_settings WHERE category = 'File Locations';
       name        |                     setting                     |  context   
-------------------+-------------------------------------------------+------------
 config_file       | /opt/homebrew/var/postgresql@15/postgresql.conf | postmaster
 data_directory    | /opt/homebrew/var/postgresql@15                 | postmaster
 external_pid_file |                                                 | postmaster
 hba_file          | /opt/homebrew/var/postgresql@15/pg_hba.conf     | postmaster
 ident_file        | /opt/homebrew/var/postgresql@15/pg_ident.conf   | postmaster
(5 rows)

我希望通过上下文列来重申需要重新启动的设置。如果值为postmaster,则必须使用pg_ctl restart而不是pg_ctl reload。注意第二行中的data_directory。然后,我们可以将其指定为pg_ctl restart的选项。首先退出psql,然后在操作系统级别运行该命令(注意,因为在我的情况下,我正在使用homebrew软件包管理器,我不会使用这个选项):

viglione# \q
% pg_ctl restart -D  /opt/homebrew/var/postgresql@15

如果我使用的是系统服务homebrew,我会使用这个选项:

% brew services restart postgresql@15

相关问题