问题标签 [pg-ctl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
postgresql - pg_Ctl -data 目录的所有权错误
我无法启动 Postgres 服务器,每当我使用 pg_ctl 时,我都会收到以下错误 - 有人可以帮我解决这个问题吗?我使用 CHmod 更改了文件夹权限,并尝试使用 Sudo -s 运行,但问题仍然存在。
我犯的一个错误是,我在服务器运行时删除了 Postmaster.pid - 发布此问题后,当我尝试通过 pg_ctl 启动服务器时遇到此问题,而当我使用 pgadmin 时出现另一个错误。
这里的任何建议都会很有帮助-谢谢。
使用 Macos Shell 命令:
'pg_ctl start -D /Library/PostgreSQL/12/data 等待服务器启动....2020-05-05 11:40:04.838 IST [1216] 致命:数据目录“/Library/PostgreSQL/12/data”所有权错误 2020-05-05 11:40:04.838 IST [1216] 提示:服务器必须由拥有数据目录的用户启动。停止等待 pg_ctl:无法启动服务器 检查日志输出。
使用 pgadmin 错误如下:
'无法连接到服务器:连接被拒绝服务器是否在主机“localhost”(::1) 上运行并接受端口 5434 上的 TCP/IP 连接?无法连接到服务器:连接被拒绝服务器是否在主机“localhost”(127.0.0.1)上运行并接受端口 5434 上的 TCP/IP 连接?
ps:我修改了 hba.conf 和 postgres.conf 文件以允许从本地 ip 连接
5 月 5 日收到错误
等待服务器启动....2020-05-05 19:54:13.029 IST [7274] 日志:在 x86_64-apple-darwin 上启动 PostgreSQL 12.2,由 Apple LLVM 版本 6.0 (clang-600.0.54) 编译(基于在 LLVM 3.5svn 上),64 位 2020-05-05 19:54:13.030 IST [7274] 日志:侦听 IPv6 地址“::”,端口 5433 2020-05-05 19:54:13.030 IST [7274]日志:监听 IPv4 地址“0.0.0.0”,端口 5433 2020-05-05 19:54:13.030 IST [7274] 日志:监听 Unix 套接字“/tmp/.s.PGSQL.5433”2020-05-05 19:54:13.039 IST [7274] LOG:将日志输出重定向到日志收集器进程... 2020-05-05 19:54:13.039 IST [7274] 提示:未来的日志输出将出现在目录“log”停止等待。 . pg_ctl: 无法启动服务器
检查日志输出。
日志文件详细信息
托管所有所有 ::/0 md5
最新的日志文件
bash-3.2$ cat postgresql-2020-05-05_221328.log 2020-05-05 22:13:28.794 IST [9834] LOG:数据库系统被中断;最后一次知道于 2020-05-05 22:13:09 IST 2020-05-05 22:13:28.872 IST [9834] 日志:数据库系统未正确关闭;自动恢复正在进行中 2020-05-05 22:13:28.874 IST [9834] LOG:重做开始于 0/17742C8 2020-05-05 22:13:28.874 IST [9834] LOG:无效记录长度在 0/1774300:想要 24,得到 0 2020-05-05 22:13:28.874 IST [9834] LOG: redo done at 0/17742C8 2020-05-05 22:13:28.881 IST [9832] LOG: 数据库系统已准备好接受连接......我在盯着服务器时也发现了这个错误,PID 每次都在改变..
pg_ctl:另一台服务器可能正在运行;无论如何都试图启动服务器等待服务器启动....2020-05-05 22:09:21.941 IST [9746] 致命:锁定文件“postmaster.pid”已经存在 2020-05-05 22:09:21.941 IST [9746] 提示:另一个 postmaster (PID 9735) 是否在数据目录“/Library/PostgreSQL/12/data”中运行?停止等待 pg_ctl: 无法启动服务器 检查日志输出。bash-3.2$ kill -9 9735 bash-3.2$ pg_ctl start -D /Library/PostgreSQL/12/data pg_ctl: 另一个服务器可能正在运行;无论如何尝试启动服务器等待服务器启动....2020-05-05 22:09:35.829 IST [9758] 致命:锁定文件“postmaster.pid”已经存在 2020-05-05 22:09:35.829 IST [9758] 提示:另一个 postmaster (PID 9747) 是否在数据目录“/Library/PostgreSQL/12/data”中运行?停止等待 pg_ctl:
检查日志输出。
502 9833 9832 0 晚上 10:13 ?? 0:00.00 postgres:记录器
502 9835 9832 0 10:13PM ?? 0:00.00 postgres:检查点
502 9836 9832 0 10:13PM ?? 0:00.04 postgres:后台编写器
502 9837 9832 0 10:13PM ?? 0:00.01 postgres: walwriter
502 9838 9832 0 10:13PM ?? 0:00.01 postgres: autovacuum 启动器
502 9839 9832 0 10:13PM ?? 0:00.01 postgres:统计收集器
502 9840 9832 0 10:13PM ?? 0:00.00 postgres:逻辑复制启动器
0 9641 9504 0 10:03PM ttys000 0:00.02 sudo -u postgres -s /bin/bash 502 9904 9642 0 10:37PM ttys000 0:00.00 grep postgres
postgresql - Postgres 升级(10.9 到 12.2)偶尔会失败
Postgres 升级(10.9 到 12.2)偶尔会失败
- 我们已将 postgres 集群从 10.5 升级到 12.2
- 10.5 版本还具有扩展库 PLV8。但是我们想在升级版(12.2)中去掉那个扩展
- 在升级之前,我们删除了扩展(PLV8)并删除了所有相关的存储过程。
- 使用 12.2 版本创建新集群,然后从该二进制位置使用 pg_upgrade 命令。
- 首先我们使用“检查”,如果成功则使用“链接”进行升级。
但我们观察到,升级有时会在“检查”步骤 ( pg_upgrade --check
) 中失败,而有时在“链接”( pg_upgrade --link
) 步骤中会失败,尽管检查步骤是成功的。
带有以下日志
pg_upgrade --check
失败,输出如下
“检查是否存在所需库”失败
其他一些时候pg_upgrade --link
失败,输出低于
“检查是否存在所需库”失败
笔记:
- 失败是零星的
- 在“检查所需库”阶段,链接和检查均失败
- 问题是只在虚拟机上。
powershell - pg_ctl.exe 无法以自定义 postgresql.conf 启动
我正在尝试设置一个 PS1 脚本来自动安装 PostgreSQL。
- 停止 PostgreSQL
.\pg_ctl.exe -D "$PostgresInstallPath\data" stop
- 替换conf文件
Copy-Item -Path "$PSScriptRoot\postgresql.conf" -Destination "$PostgresInstallPath\data\postgresql.conf" -Force
- 启动 PostgreSQL
.\pg_ctl.exe -D "$PostgresInstallPath\data" start
我的自定义 conf 文件总是失败,但总是使用默认的 conf 文件。该文件在文本编辑器中打开时看起来并不正确,因此不知道为什么它不起作用。
有没有人看到过类似的东西,或者对我下一步可以去哪里让它工作有任何想法?
错误日志没有帮助,不仅仅是指每一行的错误。
postgresql.conf:
postgresql - 将超时设置为 Postgres 服务 pg_ctl
我的 PostgreSQL 服务超时。我在这里读到,如果没有提供,默认超时为 60 秒,我们可以配置PGCTLTIMEOUT
环境变量。我不确定是为用户添加还是为系统添加,以及如何验证它是否正常工作。
由于这个超时问题很少发生,我不知道如何测试它是否有效。
更新: Pated PG 日志
在事件查看器中,我可以看到超时错误并且服务未启动。我检查了任务管理器,有postgres.exe
运行但没有pg_ctl.exe
。
pg-ctl - pg_ctl: 无法启动服务器
[postgres@localhost2 ~]$ pg_ctl start waiting for server to start....2021-07-01 15:34:48.361 IST [2339] LOG:监听 IPv4 地址“0.0.0.0”,端口 5432 2021-07- 01 15:34:48.361 IST [2339] LOG:监听 IPv6 地址“::”,端口 5432 2021-07-01 15:34:48.363 IST [2339] LOG:监听 Unix 套接字“/var/run/postgresql /.s.PGSQL.5432" 2021-07-01 15:34:48.366 IST [2339] 日志:侦听 Unix 套接字 "/tmp/.s.PGSQL.5432" 2021-07-01 15:34:48.479 IST [2339] LOG:将日志输出重定向到日志收集器进程 2021-07-01 15:34:48.479 IST [2339] 提示:未来的日志输出将出现在目录“log”中。停止等待 pg_ctl: 无法启动服务器 检查日志输出。
postgresql - pg_ctl 命令在 Ubuntu 20.04 Postgres14 上没有响应
我是 Ubuntu 新手,无法访问 pg_ctl 之类的东西。这里有什么问题?是不是没有安装?或者是别的什么?非常感谢一些帮助
返回无响应