PostgreSQL:在Linux系统上面安装PostgreSQL数据库

一、准备工作

这里使用的Linux操作系统是Centos7,选择在虚拟机上面装Centos7系统,然后在虚拟机上面安装PostgreSQL。

二、安装PostgreSQL

2.1、选择版本

进入PostgreSQL官网下载界面,找到Centos相关下载信息。官网下载地址:https://www.postgresql.org/download/linux/redhat/

2.2、安装yum源

根据上面选择的版本的yum进行安装:

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

如下图所示:

2.3、安装PostgreSQL

使用下面的命令安装PostgreSQL:

yum install postgresql12-server

如下图所示:

在安装过程中会有提示输入的地方,都统一选择输入“y”,安装完成界面如下图所示:

三、设置PostgreSQL

在上面的步骤中,我们只是安装了PostgreSQL,接下来要对PostgreSQL进行一些设置。

3.1、初始化数据库

使用下面的命令对数据库进行初始化:

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

如下图所示:

初始化数据库完成以后,会在/var/lib/pgsql目录下创建名为12的文件夹,12为数据库版本,如果安装的是其他版本的PostgreSQL,对应的是其版本号(11、9.5)。这里如果已经有对应版本的文件夹了,初始化这一步会报错,需要你自行去删除对应的文件夹,再去初始化。

3.2、设置数据库自启动

使用下面的命令设置数据库自启动

systemctl enable postgresql-12
systemctl start postgresql-12

如下图所示:

3.3、修改密码

安装完PostgreSQL数据库以后,默认会创建一个名为postgres的Linux登录用户名,这里需要进行密码修改

注意:这里修改的是Linux系统登录的账号密码,不是PostgreSQL数据库的密码,后面会修改PostgreSQL数据库的密码。

使用下面的命令修改postgres用户的登录密码:

passwd postgres

这里的postgres表示要修改密码的用户名。如下图所示:

3.4、设置允许远程连接

目前安装的数据库,只能在本机进行登录,我们需要设置一些远程连接信息,允许所有的计算机都能访问到该数据库。

使用vim命令编辑文件,如果没有vim命令,首先需要安装vim命令:

yum install vim

如下图所示:

安装完成界面如图所示:

首先进入data目录

cd  /var/lib/pgsql/12/data

如下图所示:

对postgresql.conf文件进行编辑:

vim postgresql.conf

如下图所示:

找到listen_addresses节点进行修改,修改前内容:

把listen_addresses前面的#去掉,然后将localhost修改为*,修改后的内容如下:

最好保存退出。

还是在同样目录下,对pg_hba.conf文件进行编辑:

vim pg_hba.conf

 如下图所示:

这里对IPv4内容进行修改,修改前文件内容:

修改为文件内容:

最后保存退出。

3.5、重启服务

上面的步骤对文件进行了修改,需要重启数据库服务才能使修改的文件生效:

systemctl restart postgresql-12

如下图所示:

3.6、修改数据库密码

用postgres账号登录Centos,并修改数据库用户密码(或者直接su postgres切换过去)

ssh postgres@192.168.241.128 -p 22

如下图所示:

然后修改数据库用户密码

psql -U postgres
 \password

如下图所示:

查看PostgreSQL版本信息

3.7、使用客户端测试登录

上面的步骤都完成以后,我们接下来使用客户端工具来测试是否可以连接PostgreSQL数据库。

注意:PostgreSQL默认使用的是5432端口,测试之前要把5432端口加入到防火墙中,或者关闭防火墙,否则客户端连接不上,这里选择把5432端口加入到防火墙中

firewall-cmd --zone=public --add-port=5432/tcp --permanent

如下图所示:

修改完配置之后,需要重启防火墙:

firewall-cmd --reload

如下图所示:

然后使用Navicat作为客户端测试连接PostgreSQL:

这样就表示连接成功了。 

posted @ 2020-07-05 20:47  .NET开发菜鸟  阅读(2779)  评论(2编辑  收藏  举报