CentOS 安装PostgreSQL

安装版本信息:

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数据库

image

3、创建用户和数据库并授权

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
image

2、修改/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>