CentOS7安装PostgreSQL12 + 完成本地访问
检查本机PostgresSQL并删除
sudo su - //root
rpm -aq| grep postgres
yum remove postgresql*
yum update
检查本机PostgresSQL的数据路径有没有文件
防止之后爆出Data directory is not empty!
rm -rf /var/lib/pgsql/12/data
PostgresSQL的安装
- 安装软件包
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
- 安装客户端
yum install postgresql12
- 安装服务端
yum install postgresql12-server
- 初始化
/usr/pgsql-12/bin/postgresql-12-setup initdb
这一步会自动创建/var/lib/pgsql/12/data文件夹
- 设置自动启动并且启动postgresql服务
systemctl enable postgresql-12
systemctl start postgresql-12
- 查看运行状态
systemctl status postgresql-12
创建用户和数据库
- 使用postgres用户登录(PostgresSQL安装后会自动创建postgres用户,无密码)
这个用户是操作系统的用户
su - postgres //as postgres user
- 创建用户和数据库并授权
create user test_user with password 'abc123'; // new user
create database test_db owner test_user; // new database
grant all privileges on database test_db to test_user; // grant
- 退出psql(输入 \q 再按回车键即可)
\q
开启远程访问
- 修改/var/lib/pgsql/10/data/postgresql.conf文件,取消 listen_addresses 的注释,将参数值改为“*”
- 修改/var/lib/pgsql/10/data/pg_hba.conf文件,增加下图红框部分内容
- 切换到root用户,重启postgresql服务
systemctl restart postgresql-10.service
- 使用数据库连接工具测试连接
其他
修改默认生成的 数据库用户postgres的密码
su - postgres
psql -U postgres
alter user postgres with encrypted password '123123';