PostgreSQL是一个功能强大的开源关系型数据库系统,以其可靠性、功能稳健性和性能著称。在CentOS 6.5这样的较旧Linux发行版上安装时可能会遇到一些兼容性问题。
错误表现:
Error: Package: postgresql-server-9.2.24-1.el6_5.x86_64 (base)
Requires: libpq.so.5()(64bit)
原因: CentOS 6.5仓库中的PostgreSQL版本较旧,依赖关系可能不满足。
解决方案:
sudo yum install -y postgresql postgresql-server
sudo yum install -y libpqxx-devel
错误表现:
initdb: could not create directory "/var/lib/pgsql/data": Permission denied
解决方案:
sudo mkdir -p /var/lib/pgsql/data
sudo chown postgres:postgres /var/lib/pgsql/data
sudo su - postgres -c "initdb -D /var/lib/pgsql/data"
错误表现:
SELinux is preventing /usr/bin/postgres from read access on the directory /var/lib/pgsql
解决方案:
sudo chcon -R -t postgresql_db_t /var/lib/pgsql/data
sudo service postgresql restart
或者临时禁用SELinux(不推荐生产环境):
sudo setenforce 0
错误表现:
Starting postgresql service: [FAILED]
解决方案: 检查日志文件:
tail -n 50 /var/lib/pgsql/data/pg_log/*
常见原因和修复:
/var/lib/pgsql/data/postgresql.conf
中的port
shared_buffers
值错误表现:
psql: FATAL: Ident authentication failed for user "postgres"
解决方案:
修改/var/lib/pgsql/data/pg_hba.conf
:
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
然后重新加载配置:
sudo service postgresql reload
对于CentOS 6.5,建议使用PostgreSQL官方仓库安装较新版本:
sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/reporpms/EL-6-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql12 postgresql12-server
sudo service postgresql-12 initdb
sudo service postgresql-12 start
sudo chkconfig postgresql-12 on
安装完成后,可以通过以下命令验证:
sudo -u postgres psql -c "SELECT version();"
这将显示已安装的PostgreSQL版本信息。
没有搜到相关的文章