CentOS 安装PostgreSQL
2019-09-26 本文已影响0人
WeiminSun
安装版本信息:
CentOS版本:
-bash-4.2$ sudo cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
PostgreSQL版本:
-bash-4.2$ yum list installed |grep postgresql10
postgresql10.x86_64 10.10-1PGDG.rhel7 @pgdg10
postgresql10-libs.x86_64 10.10-1PGDG.rhel7 @pgdg10
postgresql10-server.x86_64 10.10-1PGDG.rhel7 @pgdg10
一、 PostgresSQL的安装
1、安装rpm文件
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2、安装客户端
yum install postgresql10
3、安装服务端
yum install postgresql10-server
4、初始化
/usr/pgsql-10/bin/postgresql-10-setup initdb
5、设置自动启动并且启动postgresql服务
systemctl enable postgresql-10
systemctl start postgresql-10
二、创建用户和数据库
1、使用postgres用户登录(PostgresSQL安装后会自动创建postgres用户,无密码)
su - postgres
2、登录postgresql数据库
image3、创建用户和数据库并授权
create user sonar with password 'sonar'; // 创建用户
create database sonar owner sonar; // 创建数据库
grant all privileges on database sonar to sonar; // 授权
4、退出psql(输入 \q 再按回车键即可)
image三、开启远程访问
1、修改/var/lib/pgsql/10/data/postgresql.conf文件,取消 listen_addresses 的注释,将参数值改为“*”
image image2、修改/var/lib/pgsql/10/data/pg_hba.conf文件,增加下图红框部分内容
sudo vi /var/lib/pgsql/10/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 ident
host replication all ::1/128 ident
3、切换到root用户,重启postgresql服务
systemctl restart postgresql-10.service
4、使用数据库连接工具测试连接
屏幕快照 2019-09-26 下午5.47.31.png
四、 附录
1、修改默认生成的 postgres 用户密码(此postgres非上面的postgres用户,此为数据库的用户,上面的为操作系统的用户)
su - postgres
psql -U postgres
alter user postgres with encrypted password '123';
2、服务启动、关闭、重启、查看状态命令
systemctl start postgresql-10.service // 启动服务
systemctl stop postgresql-10.service // 关闭服务
systemctl restart postgresql-10.service // 重启服务
systemctl status postgresql-10.service // 查看状态</pre>