一、准备工作
这里使用的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 [email protected] -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:
这样就表示连接成功了。
到此这篇关于在Linux系统上安装PostgreSQL数据库的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。