说明

需要在内网的服务器上搭建sonarqube服务,发现最新的sonarqube 8.3版本居然只支持三个数据库了:Oracle、SQL Server和Postgresql。

没有之前习惯使用的Mysql了,三选一,相对来说Postgresql最轻量且免费,就选它了。

由于对Postgresql不怎么熟,又是离线安装,作一下安装记录笔记。

下载

下载地址:https://www.postgresql.org/download/

图片说明

有不同操作系统对应的版本,这里选择自己使用的Red Hat系列。

之后选择对应的数据库版本和操作系统版本,说明文档上在线通过yum安装,往下拉。

图片说明

在Direct RPM download一节会有安装包的下载地址。

图片说明

点进去,这里我们选择稳定的12及对应操作系统为RHEL 7的版本,

最终应该有以下几个包,分别进行下载:

图片说明

安装

直接进行安装,这里我没有安装 postgresql12-contrib。

rpm -ivh postgresql12-libs-12.2-2PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql12-12.2-2PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql12-server-12.2-2PGDG.rhel7.x86_64.rpm

安装很顺利,没有任何依赖和错误需要解决。

初始化

/usr/pgsql-12/bin/postgresql-12-setup initdb

启动服务

systemctl enable postgresql-12
systemctl start postgresql-12

配置IP和端口

vi /var/lib/pgsql/12/data/postgresql.conf

按需修改以下两行:

# *表示监听所有的ip信息,也可以使用localhost、127.0.0.1等
listen_addresses = '*'  
# 默认的监听端口为5432,也可以换为其它的
port = 5432

修改同目录下的pg_hba.conf文件,设置允许访问的ip,这里我因为是测试服务器,所以设置所有:

host all all 0.0.0.0/0 md5

重启:

systemctl restart postgresql-12

这期间可以用以curl命令测试服务是否正常,可以在其它机器指定ip访问测试远程访问是否以开放,显示以下类似信息表示正常:

curl 127.0.0.1:5433
curl: (52) Empty reply from server

默认用户与密码方式登录

经过上面配置已经可以远程使用用户名、密码方式登录postgresql,但是本机反而不能使用(本机依然命令行免密方式),导致如果应用在同一台机器使用jdbc连接将失败,搭建sonarqube服务过程中就踩了这个坑。

因此修改postgresql自带超级用户postgres的密码方便后续使用。

切换到postgres用户,并进入psql命令行,如果修改了端口,需要带上端口号:

su - postgres
psql -p 5433

修改密码:

alter user postgres with password ‘postgres’;

依然修改_hba.conf文件,使本机也使用密码方式:

#load all all    peer
local all all   md5
#host all all 127.0.0.1/32 ident
host all all 127.0.0.1/32 md5

创建sonar用户

进入psql命令行,如果已修改为密码方式,需要输入密码:

su - postgres
psql -p 5433

创建用户

create user sonar with password 'sonar';

创建数据库

创建sonar数据库:

create database sonar;

将sonar数据库授权给前面创建的sonar用户:

grant all privileges on database sonar to sonar;

至此,可以在sonarqube中配置此postgresql的jdbc信息进行使用了。

你可能感兴趣的内容
0条评论

selfly

交流QQ群:32261424
Owner