CentOS7下安装PostgreSQL9.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版本,个⼈还是⽐较建议安装更新的版本。
安装
yum install /pub/repos/yum/9.6/redhat/rhel-7-x86_64/arch.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
opendbx-postgresql.x86_64    1.4.6-6.el7    epel
opensips-postgresql.x86_64    1.10.5-3.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-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
arch  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/f
将未注释⾏中的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/f ⽂件。
将#listen_addresses = 'localhost'修改为listen_addresses='*'(当然,此处‘*'也可以改为任何你想开放的服务器IP)
另外对于特定的IP还可以设置开启信任远程连接,修改/var/lib/pgsql/9.6/data/f,按下⾯的格式进⾏添加设置。
# 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=#
python安装教程非常详细
接着可以执⾏ALTER USER postgres WITH PASSWORD '123456' 来设置postgres⽤户密码,可通过 \q  退出数据库。
7、打开防⽕墙
CentOS 防⽕墙中内置了PostgreSQL服务,配置⽂件位置在/usr/lib/firewalld/l,只需以服务⽅式将PostgreSQL服务开放即可。
firewall-cmd --add-service=postgresql --permanent 开放postgresql服务
firewall-cmd --reload 重载防⽕墙
总结
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,如果有疑问⼤家可以留⾔交流。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。