如何在OS X上重启postgresql?

17 postgresql macos

无法使用命令行找到如何在OS X上重启postgresql以便在pg_hba.conf中应用更改.我尝试过来自网络和文档的各种命令.怎么做对了?

编辑:尝试找到路径的响应看起来像这样:

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
Run Code Online (Sandbox Code Playgroud)

Abh*_*nha 25

为了防止使用自制软件安装postgres,您还可以运行以下命令:

brew services restart postgres
Run Code Online (Sandbox Code Playgroud)

  • 使用“brew services list”获取正确的服务名称。然后使用“brew services restart <服务名称>”。示例 `brew 服务重新启动 postgresql@12` (6认同)
  • 错误:未安装公式“postgresql”。 (5认同)
  • 对我来说,它是“brew services restart postgresql@14”。使用brew 安装时使用包名称。 (3认同)

Azi*_*ved 17

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log restart
Run Code Online (Sandbox Code Playgroud)

/usr/local/var/postgres是数据库存储区域的位置,/usr/local/var/postgres/server.log是postgres的日志文件.最后一个字restart是这里的有效词.您也可以使用它start来启动服务.

您可以通过运行找到数据库存储区域的位置 ps aux | grep postgres | grep -- -D

  • pg_ctl:目录“/usr/local/var/postgres”不存在 (2认同)
  • 啊,我刚看到你的编辑.试试这个:`pg_ctl -D/Users/TheKotik/Library/Application Support/Postgres/var-9.6 -l/Users/TheKotik/Library/Application Support/Postgres/var-9.6/server.log restart (2认同)
  • 将参数括在引号中:`pg_ctl -D "/Users/TheKotik/Library/Application Support/Postgres/var-9.6" -l "/Users/TheKotik/Library/Application Support/Postgres/var-9.6/server.log"重新启动` (2认同)
  • pg_ctl:无法打开 PID 文件“/Library/PostgreSQL/9.6/data/postmaster.pid”:权限被拒绝 (2认同)

Rya*_*ley 9

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

sudo -u postgres /Library/PostgreSQL/13/bin/pg_ctl -D /Library/PostgreSQL/13/data restart
Run Code Online (Sandbox Code Playgroud)

不知道为什么我的数据目录与其他目录不同,但它有效。我还必须使用以下命令在该文件夹中找到我的 postgresql.conf 文件

sudo ls -l /Library/PostgreSQL/13/data/
Run Code Online (Sandbox Code Playgroud)


Vao*_*sun 5

对于hba.conf更改应用于您不需要重启-刚刚重装。

select pg_reload_conf()在psql中运行

也:

show data_directory在psql中运行以查找您的数据目录...

  • `select pg_reload_conf()` 可能无效,因为您需要在其后面添加一个 `;` 才能运行该命令。 (2认同)