CentOS 7下安装PostgreSQL 9.6的教程分享

前言

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。

[root@localhost ~]# yum list|grep postgresql
calligra-kexi-driver-postgresql.x86_64 2.9.10-1.el7     epel
collectd-postgresql.x86_64    5.6.0-1.el7     epel
freeradius-postgresql.x86_64   3.0.4-6.el7     base
libreoffice-postgresql.x86_64   1:4.3.7.2-5.el7_2.1   updates
mingw32-postgresql.noarch    9.3.4-2.el7     epel
mingw64-postgresql.noarch    9.3.4-2.el7     epel
opendbx-postgresql.x86_64    1.4.6-6.el7     epel
opensips-postgresql.x86_64    1.10.5-3.el7     epel
owncloud-postgresql.noarch    9.0.4-1.el7     epel
pcp-pmda-postgresql.x86_64    3.10.6-2.el7     base
pdns-backend-postgresql.x86_64   3.4.10-1.el7     epel
perdition-postgresql.x86_64    2.1-5.el7      epel
postgresql.i686       9.2.15-1.el7_2     updates
postgresql.x86_64      9.2.15-1.el7_2     updates
postgresql-contrib.x86_64    9.2.15-1.el7_2     updates
postgresql-devel.i686     9.2.15-1.el7_2     updates
postgresql-devel.x86_64     9.2.15-1.el7_2     updates
postgresql-docs.x86_64     9.2.15-1.el7_2     updates
postgresql-jdbc.noarch     9.4.1212-1.rhel7    pgdg96
postgresql-jdbc-javadoc.noarch   9.4.1212-1.rhel7    pgdg96
postgresql-libs.i686     9.2.15-1.el7_2     updates
postgresql-libs.x86_64     9.2.15-1.el7_2     updates
postgresql-odbc.x86_64     09.03.0100-2.el7    base
postgresql-pgpool-II.x86_64    3.4.6-1.el7     epel
postgresql-pgpool-II-devel.x86_64  3.4.6-1.el7     epel
postgresql-pgpool-II-extensions.x86_64 3.4.6-1.el7     epel
postgresql-plperl.x86_64    9.2.15-1.el7_2     updates
postgresql-plpython.x86_64    9.2.15-1.el7_2     updates
postgresql-plruby.x86_64    0.5.3-13.el7     epel
postgresql-plruby-doc.x86_64   0.5.3-13.el7     epel
postgresql-pltcl.x86_64     9.2.15-1.el7_2     updates
postgresql-server.x86_64    9.2.15-1.el7_2     updates
postgresql-test.x86_64     9.2.15-1.el7_2     updates
postgresql-unit96.x86_64    1.0-1.rhel7     pgdg96
postgresql-unit96-debuginfo.x86_64  1.0-1.rhel7     pgdg96
postgresql-upgrade.x86_64    9.2.15-1.el7_2     updates
postgresql96.x86_64      9.6.1-1PGDG.rhel7    pgdg96
postgresql96-contrib.x86_64    9.6.1-1PGDG.rhel7    pgdg96
postgresql96-debuginfo.x86_64   9.6.1-1PGDG.rhel7    pgdg96
postgresql96-devel.x86_64    9.6.1-1PGDG.rhel7    pgdg96
postgresql96-docs.x86_64    9.6.1-1PGDG.rhel7    pgdg96
postgresql96-libs.x86_64    9.6.1-1PGDG.rhel7    pgdg96
postgresql96-odbc.x86_64    09.05.0400-1PGDG.rhel7   pgdg96
postgresql96-plperl.x86_64    9.6.1-1PGDG.rhel7    pgdg96
postgresql96-plpython.x86_64   9.6.1-1PGDG.rhel7    pgdg96
postgresql96-pltcl.x86_64    9.6.1-1PGDG.rhel7    pgdg96
postgresql96-python.x86_64    4.2-1PGDG.rhel7    pgdg96
postgresql96-python-debuginfo.x86_64 4.2-1PGDG.rhel7    pgdg96
postgresql96-server.x86_64    9.6.1-1PGDG.rhel7    pgdg96
postgresql96-tcl.x86_64     2.1.1-1.rhel7     pgdg96
postgresql96-tcl-debuginfo.x86_64  2.1.1-1.rhel7     pgdg96
postgresql96-test.x86_64    9.6.1-1PGDG.rhel7    pgdg96
proftpd-postgresql.x86_64    1.3.5b-2.el7     epel
python-testing.postgresql.noarch  1.1.0-2.el7     epel
qt-postgresql.i686      1:4.8.5-12.el7_2    updates
qt-postgresql.x86_64     1:4.8.5-12.el7_2    updates
qt5-qtbase-postgresql.x86_64   5.6.1-3.el7     epel
soci-postgresql.x86_64     3.2.3-1.el7     epel
soci-postgresql-devel.x86_64   3.2.3-1.el7     epel

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 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   ident
# IPv6 local connections:
host all    all    ::1/128     ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication  postgres        peer
#host replication  postgres  127.0.0.1/32   ident
#host replication  postgres  ::1/128     ident

如需开启远程访问,可编辑/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 all   all  127.0.0.1/32  trust
 host all   all  8.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命令行环境。

[root@localhost ~]# 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 重载防火墙

总结

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

(0)

相关推荐

  • 用一整天的时间安装postgreSQL NTFS权限

    由于某个项目要求,需要安装postgreSQL,于是下载来.exe的安装文件运行. 一开始很顺利,可哪知安装到最后,初始化数据库的时候出现了一个该死的对话框(在此画个圈圈诅咒微软,他跳出来的错误对话框从来没什么用)云: Exception Processing Message c0000135 Parameters 759851d8 759851d8 759851d8 759851d8 手动运行initdb也是这样的错误. 遂到google搜索之,答案寥寥无几,却貌似都在讨论用户权限的问题. 难

  • PostgreSQL 安装和简单使用第1/2页

    据我了解国内四大国产数据库,其中三个都是基于PostgreSQL开发的.并且,因为许可证的灵活,任何人都可以以任何目的免费使用,修改,和分发 PostgreSQL,不管是私用,商用,还是学术研究使用.本文只是简单介绍一下postgresql的安装和简单的使用,语法方面涉及的比较少,以方便新手上路为目的. 1.系统环境和安装方法 : PostgreSQL的安装方法比较灵活,可以用源码包安装,也可以用您使用的发行版所带的软件包来安装,还可以采用在线安装-- 1.1 系统环境:Ubuntu Linux

  • Windows下PostgreSQL安装图解

    现在谈起免费数据库,大多数人首先想到的可能是MySQL,的确MySQL目前已经应用在国内很多领域,尤其是网站架设方面.但是,实际上功能最强大.特性最丰富和最复杂的免费数据库应该是PostgreSQL.它的很多特性正是当今许多商业数据库例如Oracle.DB2等的前身. 其实笔者最近也是因为项目需要,接触了一点PostgreSQL的皮毛,最近PostgreSQL又刚发布了8.1版本,笔者结合网上各位高手的经验谈一点自己的安装心得,和才开始接触PostgreSQL的新手朋友共同学习. 从Postgr

  • 在Ubuntu中安装Postgresql数据库的步骤详解

    介绍 众所周知PostgreSQL 是自由的对象-关系型数据库服务器(数据库管理系统),在ubuntu下安装Postgresql是一件非常容易的事情,下面话不多说了,来跟着小编来一起看看详细的介绍吧. 安装方法如下: 1.安装Postgresql的服务器以及客户端: sudo apt-get install postgresql postgresql-client 2.通常情况下,安装完成以后Postgresql已经一定启动了,下面是一些常见的操作指令: # 查看状态 sudo /etc/ini

  • Debian中PostgreSQL数据库安装配置实例

    用惯了MySQL后,想尝试使用下PostgreSQL,据说这玩意儿也很强大,我在网上搜索了下相关中文书籍,可惜相关书籍远远没有MySQL那么多,不过我在官方找到了由志愿者翻译的文档(参考9.1文档翻译项目),说实话我英文文档阅读能力还是比较纠结的,所以有中文文档当然优先中文了. 在Debian下可以通过apt-get命令直接安装: 复制代码 代码如下: sudo apt-get install postgresql postgresql-client postgresql-server-dev-

  • Windows PostgreSQL 安装图文教程

    它提供了多版本并行控制,支持几乎所有 SQL 构件(包括子查询,事务和用户定义类型和函数), 并且可以获得非常广阔范围的(开发)语言绑定 (包括 C,C++,Java,perl,tcl,和 python).本文介绍的是其在windows系统下的安装过程. 一般说来,一个现代的与 Unix 兼容的平台应该就能运行 PostgreSQL.而如果在windows系统下安装,你需要 Cygwin 和cygipc 包.另外,如果要制作服务器端编程语言 PL/Perl,则还需要完整的Perl安装,包括 li

  • Mac OS上安装PostgreSQL的教程

    容我开头啰嗦一下.一直以来,我和 MySQL 这位久经考验的老朋友合作愉快.但自从了解了一点 PostgreSQL 后, 对其丰富的功能特性就十分着迷.比如字段类型原生支持 json, xml 和 array.跟 MySQL 比起来,感觉 PostgreSQL 更高级一些. 安装brew 官方文档: http://mxcl.github.com/homebrew/ 先安装Git,打开一个shell: cd /usr/local sudo mkdir homebrew curl -L https:

  • PostgreSQL安装、配置及简单使用方法

    一.PostgreSQL简介 1.什么是PostgreSQL PostgreSQL数据库是目前功能最强大的开源数据库,支持丰富的数据类型(如JSON何JSONB类型,数组类型)和自定义类型.而且它提供了丰富的接口,可以很容易地扩展它的功能,如可以在GiST框架下实现自己的索引类型等,它还支持使用C语言写自定义函数.触发器,也支持使用流行的语言写自定义函数,比如其中的PL/Perl提供了使用Perl语言写自定义函数的功能,当然还有PL/Python.PL/Tcl,等等. 2.PostgreSQL数

  • PostgreSQL8.3.3安装方法第1/2页

    今天在整理资料的时候发现,Postgre出现了解压缩直接使用的版本,上边注明了for expert only. 呵呵,看来,不推荐生手使用. 为了试验一把,索性从它的官网上直接下载了一份postgresql-8.3.3-1-binaries-no-installer.zip 1. 将其解压到d:\pgsql8.3.3 2. 设置环境变量,我不想直接添加,而是写到了一个batch文件里,名为pgenv.bat set PGHOME=d:\pgsql8.3.3 set PATH=%PGHOME%\b

  • Linux CentOS 7安装PostgreSQL9.3图文教程

    如题,本篇blog记录一下在Linux CentOS 7中安装PostgresSQL的整个过程以及数据库配置等,在Linux系统中,PostgreSQL的安装方式分两种,分别是: 1.二进制安装包安装 2.源码编译安装 由于我们没有什么特殊需求所在在此选择较为简单的方式--二进制安装包安装,二进制包安装的方法一般都是通过不同发行版本的Linux下的包管理器进行的,例如Debian和Ubuntu下是使用apt-get命令或aptitude命令来安装,命令如下: sudo apt-get insta

随机推荐