本文共 2518 字,大约阅读时间需要 8 分钟。
PostgreSQL 是一款流行的开源关系型数据库管理系统,支持多种操作系统,其中 CentOS 7 是其中之一。以下是安装 PostgreSQL 9.6 的详细步骤指南。
首先,需要从官方仓库安装 PostgreSQL 的存储库文件。可以通过以下命令进行安装:
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
安装完成后,存储库已准备就绪,可以继续下一步操作。
安装 PostgreSQL 客户端工具,以便与数据库进行交互:
yum install postgresql96
如果需要安装数据库服务器,运行以下命令:
yum install postgresql96-server
为了初始化数据库并配置自动启动服务,执行以下命令:
usr/pgsql-9.6/bin/postgresql96-setup initdbsystemctl enable postgresql-9.6systemctl start postgresql-9.6
此时,数据库已初始化,服务也已启用。
默认情况下, PostgreSQL 安装会创建一个名为 postgres 的系统账号。切换到该账号后,可以通过以下命令修改数据库用户的密码:
psql -U postgres
进入数据库环境后,执行:
postgres=# ALTER USER postgres WITH PASSWORD 'postgres@123';
或者通过以下命令直接进入 PostgreSQL 命令行环境:
sudo -i -u postgres
进入后执行 psql 进行密码修改。
默认情况下, PostgreSQL 只允许本地访问。为了允许远程访问,修改配置文件:
sed -i "s|#listen_addresses = 'localhost'|listen_addresses = '*'|g" /var/lib/pgsql/9.6/data/postgresql.conf
修改完成后,重启 PostgreSQL 服务:
systemctl restart postgresql-9.6
在 PostgreSQL 配置文件中,默认的认证方式是 Ident。为了支持更多认证方式,修改 pg_hba.conf 文件:
vim /var/lib/pgsql/9.6/data/pg_hba.conf
修改内容如下:
# "local" is for Unix domain socket connections onlylocal all all md5# IPv4 local connectionshost all all 127.0.0.1/32 md5# IPv6 local connectionshost all all ::1/128 md5
修改完成后,重启 PostgreSQL 服务:
systemctl restart postgresql-9.6
如果使用 CentOS 的防火墙,开放 PostgreSQL 服务:
firewall-cmd --add-service=postgresql --permanentfirewall-cmd --reload
postgres=# CREATE USER postuser1 WITH PASSWORD 'user1@123';
postgres=# CREATE DATABASE postdb1 OWNER postuser1;
postgres=# GRANT ALL PRIVILEGES ON DATABASE postdb1 TO postuser1;
psql -U postuser1 -d postdb1 -h 127.0.0.1 -p 5432
postdb1=# CREATE TABLE tb1 ( id INT PRIMARY KEY, name VARCHAR(20), salary REAL );
postdb1=# INSERT INTO tb1 (id, name, salary) VALUES (101, 'Mike', 5000.00);
postdb1=# SELECT * FROM tb1;
如果遇到以下错误:
无法启动数据库,因为端口已被占用。
执行以下命令停止数据库并重启:
systemctl stop postgresql-9.6journalctl -xe
查找占用端口的进程PID:
ps -ef | grep postgreskill -9 PID
重启数据库:
systemctl restart postgresql-9.6
如有其他问题,请参考 PostgreSQL 官方文档或相关技术博客。
如果需要卸载 PostgreSQL,执行以下命令:
yum erase postgresql96
以上步骤均为手动操作,建议在执行前备份数据并谨慎操作。
转载地址:http://xyti.baihongyu.com/