执行pg_basebackup后无法连接PostgreSQL副本服务器求助
解决PostgreSQL副本服务器启动权限问题
核心问题
日志明确显示数据目录权限不符合要求且出现Permission denied,本质原因是数据目录的所有者/组并非postgres用户,仅修改权限位无法解决根本问题。
修复步骤
- 确保PostgreSQL服务处于停止状态:
sudo systemctl stop postgresql - 递归修正数据目录的所有者与权限,确保所有文件和子目录归postgres用户/组所有:
sudo chown -R postgres:postgres /var/lib/postgresql/15/main/ sudo chmod -R 0700 /var/lib/postgresql/15/main/ - 重新启动PostgreSQL服务:
sudo systemctl start postgresql - 验证状态:
正常情况下状态会变为pg_lsclustersonline,recovery,此时可本地连接测试:psql -h localhost -U postgres
避免后续问题
执行pg_basebackup时,务必切换到postgres用户执行,避免root用户创建文件导致权限异常:
sudo -u postgres pg_basebackup -h <primary-server-ip-address> -D /var/lib/postgresql/15/main -U replicator -W -P -v -R
内容的提问来源于stack exchange,提问作者Gordon Khanh Ng.
相关产品推荐
相关产品推荐

