PostgreSQL在我心目中的地位要远远高于MySQL,虽然流行对比MySQL低很对,但是功能性一致走在MySQL的前面。下面这篇文章主要介绍了CentOS 7下安装PostgreSQL数据库的方法,需要的朋友可以参考借鉴,一起来看看吧。

前言

PostgreSQL是一个强大开源的对象关系类型数据库系统,它能运行于几乎所有主要的操作系统,包括Linux、Unix(AIX、BSD、HP-UX、SGI IRIX、Mac OS、Solaris、Tru64)、Windows OS。对于新的项目我是非常建议使用PostgreSQL。这里就简单的整理下CentOS下的安装过程。

CentOS的源中自带有PostgreSQL,可以通过 yum list | grep postgresql 查看系统自带的版本,我这边看到的是9.2版本,个人还是比较建议安装更新的版本。

安装

1、安装 yum 源(地址从 http://yum.postgresql.org/repopackages.php 获取)

yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

这里选择的是最新的9.6版本,安装完毕后使用 yum update 更新源信息,然后再使用 yum list | grep postgresql ,是否已经有最新版本的postgresql。

[[email protected] ~]# yum list|grep postgresql
calligra-kexi-driver-postgresql.x86_64 2.9.10-1.el7epelcollectd-postgresql.x86_645.6.0-1.el7epelfreeradius-postgresql.x86_643.0.4-6.el7baselibreoffice-postgresql.x86_641:4.3.7.2-5.el7_2.1updatesmingw32-postgresql.noarch9.3.4-2.el7epelmingw64-postgresql.noarch9.3.4-2.el7epelopendbx-postgresql.x86_641.4.6-6.el7epelopensips-postgresql.x86_641.10.5-3.el7epelowncloud-postgresql.noarch9.0.4-1.el7epelpcp-pmda-postgresql.x86_643.10.6-2.el7basepdns-backend-postgresql.x86_643.4.10-1.el7epelperdition-postgresql.x86_642.1-5.el7epelpostgresql.i6869.2.15-1.el7_2updatespostgresql.x86_649.2.15-1.el7_2updatespostgresql-contrib.x86_649.2.15-1.el7_2updatespostgresql-devel.i6869.2.15-1.el7_2updatespostgresql-devel.x86_649.2.15-1.el7_2updatespostgresql-docs.x86_649.2.15-1.el7_2updatespostgresql-jdbc.noarch9.4.1212-1.rhel7pgdg96postgresql-jdbc-javadoc.noarch9.4.1212-1.rhel7pgdg96postgresql-libs.i6869.2.15-1.el7_2updatespostgresql-libs.x86_649.2.15-1.el7_2updatespostgresql-odbc.x86_6409.03.0100-2.el7basepostgresql-pgpool-II.x86_643.4.6-1.el7epelpostgresql-pgpool-II-devel.x86_643.4.6-1.el7epelpostgresql-pgpool-II-extensions.x86_64 3.4.6-1.el7epelpostgresql-plperl.x86_649.2.15-1.el7_2updatespostgresql-plpython.x86_649.2.15-1.el7_2updatespostgresql-plruby.x86_640.5.3-13.el7epelpostgresql-plruby-doc.x86_640.5.3-13.el7epelpostgresql-pltcl.x86_649.2.15-1.el7_2updatespostgresql-server.x86_649.2.15-1.el7_2updatespostgresql-test.x86_649.2.15-1.el7_2updatespostgresql-unit96.x86_641.0-1.rhel7pgdg96postgresql-unit96-debuginfo.x86_641.0-1.rhel7pgdg96postgresql-upgrade.x86_649.2.15-1.el7_2updatespostgresql96.x86_649.6.1-1PGDG.rhel7pgdg96postgresql96-contrib.x86_649.6.1-1PGDG.rhel7pgdg96postgresql96-debuginfo.x86_649.6.1-1PGDG.rhel7pgdg96postgresql96-devel.x86_649.6.1-1PGDG.rhel7pgdg96postgresql96-docs.x86_649.6.1-1PGDG.rhel7pgdg96postgresql96-libs.x86_649.6.1-1PGDG.rhel7pgdg96postgresql96-odbc.x86_6409.05.0400-1PGDG.rhel7pgdg96postgresql96-plperl.x86_649.6.1-1PGDG.rhel7pgdg96postgresql96-plpython.x86_649.6.1-1PGDG.rhel7pgdg96postgresql96-pltcl.x86_649.6.1-1PGDG.rhel7pgdg96postgresql96-python.x86_644.2-1PGDG.rhel7pgdg96postgresql96-python-debuginfo.x86_64 4.2-1PGDG.rhel7pgdg96postgresql96-server.x86_649.6.1-1PGDG.rhel7pgdg96postgresql96-tcl.x86_642.1.1-1.rhel7pgdg96postgresql96-tcl-debuginfo.x86_642.1.1-1.rhel7pgdg96postgresql96-test.x86_649.6.1-1PGDG.rhel7pgdg96proftpd-postgresql.x86_641.3.5b-2.el7epelpython-testing.postgresql.noarch1.1.0-2.el7epelqt-postgresql.i6861:4.8.5-12.el7_2updatesqt-postgresql.x86_641:4.8.5-12.el7_2updatesqt5-qtbase-postgresql.x86_645.6.1-3.el7epelsoci-postgresql.x86_643.2.3-1.el7epelsoci-postgresql-devel.x86_643.2.3-1.el7epel

2、安装PostgreSQL

这里最核心的是要安装postgresql96-server和postgresql96-contrib,其中”contrib”包里包含了一些常用的组件和方法。

yum install postgresql96-server postgresql96-contrib

安装后,可执行文件在 /usr/pgsql-9.5/bin/, 数据和配置文件在 /var/lib/pgsql/9.6/data/

3、初始化数据库

/usr/pgsql-9.6/bin/postgresql96-setup initdb

4、默认情况下PostgreSQL不支持密码登录,如需支持需要修改配置文件

vi /var/lib/pgsql/9.6/data/pg_hba.conf

将未注释行中的ident 替换为 md5

# TYPE DATABASEUSERADDRESSMETHOD# "local" is for Unix domain socket connections only
local allallpeer
# IPv4 local connections:
host allall127.0.0.1/32ident
# IPv6 local connections:
host allall::1/128ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replicationpostgrespeer
#host replicationpostgres127.0.0.1/32ident
#host replicationpostgres::1/128ident

如需开启远程访问,可编辑/var/lib/pgsql/9.6/data/postgresql.conf 文件。

#listen_addresses = 'localhost' 修改为 listen_addresses='*' (当然,此处‘*'也可以改为任何你想开放的服务器IP)

另外对于特定的IP还可以设置开启信任远程连接,修改/var/lib/pgsql/9.6/data/pg_hba.conf,按下面的格式进行添加设置。

# IPv4 local connections:host allall127.0.0.1/32trusthost allall8.8.8.8/32(需要连接的服务器IP) trust

修改完配置以后不要忘了重启服务。

5、管理服务,和其他服务一样还是用systemd进行管理

systemctl start postgresql-9.6 #启动服务
systemctl restart postgresql-9.6 #重启服务
systemctl stop postgresql-9.6 #停止服务
systemctl enable postgresql-9.6 #自动启动

6、登录PostgreSQL

PostgreSQL 安装完成后,会建立一下‘postgres'用户,用于执行PostgreSQL,数据库中也会建立一个'postgres'用户,如果我们要使用PostgreSQL就必须先登录此帐号。

sudo -i -u postgres

执行后提示符会变为 ‘-bash-4.2$',再运行

同构执行进入 psql 进入postgresql命令行环境。

[[email protected] ~]# sudo -i -u postgres
-bash-4.2$ psql
psql (9.6.1)
Type "help" for help.postgres=#

接着可以执行 ALTER USER postgres WITH PASSWORD '123456' 来设置postgres用户密码,可通过 \q 退出数据库。

7、打开防火墙

CentOS 防火墙中内置了PostgreSQL服务,配置文件位置在/usr/lib/firewalld/services/postgresql.xml,只需以服务方式将PostgreSQL服务开放即可。

firewall-cmd --add-service=postgresql --permanent 开放postgresql服务
firewall-cmd --reload 重载防火墙

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

最新资讯
深度|苹果“美国制造”秘史:加州两家工厂先后失败

深度|苹果“美国制造

事实上,制造业的转移并没有扼杀硅谷;相反,这里成为了全球
车辆减少、押金难退 共享汽车重蹈共享单车覆辙?

车辆减少、押金难退

到了年底,整个共享汽车行业迎来“洗牌期”。高运营成本
直击|OPPO首个海外研发中心落地印度 专注影像通信

直击|OPPO首个海外研

OPPO近日宣布,OPPO印度海得拉巴研发中心正式成立。该研
易到用车推行新能源网约车 济南春节前投运1000辆

易到用车推行新能源网

易到用车今日宣布施行新能源网约车计划,在全国范围内投
两周之后台湾地区将关闭3G网络 年后全部使用4G

两周之后台湾地区将关

台湾地区将于今年12月31日关闭3G网络。目前,距离年底有
子弹都打不碎的玻璃,为何用手轻轻一碰就碎了?

子弹都打不碎的玻璃,为

其实它原本是普普通通的玻璃。将玻璃融化后滴进冰水里
最新文章
Postgresql主从异步流复制方案的深入探究

Postgresql主从异步流

这篇文章主要给大家介绍了关于Postgresql主从异步流复
PostgreSQL存储过程用法实战详解

PostgreSQL存储过程用

这篇文章主要介绍了PostgreSQL存储过程用法,结合具体
PostgreSQL中Slony-I同步复制部署教程

PostgreSQL中Slony-I

这篇文章主要给大家介绍了关于PostgreSQL中Slony-I同
Linux下创建Postgresql数据库的方法步骤

Linux下创建Postgresq

PostgreSQL 是一种非常复杂的对象-关系型数据库管理系
Windows上PostgreSQL安装配置教程

Windows上PostgreSQL

这篇文章主要为大家详细介绍了Windows上PostgreSQL安
Windows下Postgresql下载与配置方法

Windows下Postgresql

这篇文章主要为大家详细介绍了Windows下Postgresql下