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

所属分类: 数据库 / PostgreSQL 阅读数: 205
收藏 0 赞 0 分享

如题,本篇blog记录一下在Linux CentOS 7中安装PostgresSQL的整个过程以及数据库配置等,在Linux系统中,PostgreSQL的安装方式分两种,分别是:

1、二进制安装包安装

2、源码编译安装

由于我们没有什么特殊需求所在在此选择较为简单的方式——二进制安装包安装,二进制包安装的方法一般都是通过不同发行版本的Linux下的包管理器进行的,例如Debian和Ubuntu下是使用apt-get命令或aptitude命令来安装,命令如下:

sudo apt-get install postgresql

而在RedHat。CentOS或Fedora下则使用yum工具来安装PostgreSQL,命令如下:

yum install postgresql-server.x86_64

先大概了解一下,下面就具体介绍一下整个安装过程和细节。

安装PostgreSQL

我选择的是yum安装,需求是9.3的版本,所以直接输入软件库的位置即可(安装之前可以通过rpm -qa | grep postgres命令查看是否有已安装的postgresql的rpm包,如果有的话可以通过yum remove postgresql*命令执行卸载):

复制代码 代码如下:
yum install http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-redhat93-9.3-1.noarch.rpm

也可以直接在官方的RPM Repository中手动下载指定版本,地址如下:PostgreSQL RPM Repository(with Yum) ,根据需求选择基于CentOS 7的9.3版本即可:

这里写图片描述 

下载好之后进入rpm包目录运行rpm -ivh ./pgdg-centos93-9.3-3.noarch.rpm安装rpm包即可,之后就可以继续安装PostgreSQL以及一些必备的组件,如官方给出的Guide:

这里写图片描述

如上图,由于我们这里安装的是9.3版本,所以直接输入以下命令安装即可:

yum install postgresql93-server postgresql93-contrib

安装日志如下:

这里写图片描述
这里写图片描述
这里写图片描述

安装完成后首先要做的是初始化db,需要注意的一点是在CentOS 7中postgresql默认的安装目录是:/usr/pgsql-9.3,默认的数据目录是/var/lib/pgsql/version/data,下面是官方给出的Guide:

这里写图片描述

这里需要注意的是要到切换到postgresql的安装目录中执行初始化命令,我们可以在安装目录中找到initdb脚本:

这里写图片描述

进入bin目录运行初始化命令即可完成数据库的初始化:

这里写图片描述

初始化成功就可以启动数据库了并登录了,启动命令如下:

systemctl start postgresql-9.3.service

启动后即可登录,我们使用postgres用户进行登录:

这里写图片描述

如上图所示,可以看到已经成功启动服务并查询了数据库版本,接下来通过\l命令可以查看目前有哪些数据库:

这里写图片描述

如上图,可以看到默认有4个数据库,\q为退出命令。为了安全起见,接下来我们修改一下postgres用户的密码,默认是空:

alter user postgres with password '111111';

如下图:

这里写图片描述

最后如果是作为DB服务器的话需要将数据库服务设置为开机启动:

这里写图片描述

关于安装相关的设置至此就已全部结束,接下来看看客户端工具(Navicat)如何连接数据库。

客户端连接PostgreSQL

如题,既然客户端要连接,首先第一步肯定是开放端口了,在CentOS 7中引入了一个更强大的防火墙——Firewall,所以我们需要在Firewall中开启PostgreSQL的默认端口5432,也就是将5432端口加入到zone(Firewall的新特性,简单讲它的作用就是定义了网络区域网络连接的可信等级)中。命令如下:

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

这样就成功的将5432端口加入了public区域中,permanent参数表示永久生效,即重启也不会失效,最后不要忘记更新防火墙规则:

firewall-cmd --reload

OK,下面看一下public区域下所有已打开的端口,命令如下:

firewall-cmd --zone=public --list-ports

可以看到5432端口已经成功开放:

这里写图片描述

只开放了端口并不够,PostgreSQL在安全方面也做的很好,它可以指定哪些ip地址能远程访问数据库服务器,默认情况下是只监听本地,所以首先需要让PostgreSQL监听整个网络,首先进入PostgreSQL的安装目录,找到配置文件,路径如下:

cd /var/lib/pgsql/9.3/data/

主要修改以下两个文件:

这里写图片描述

如上图,首先的PostgreSQL的主配置文件postgresql.conf,将listen_addresses前的#去掉,并将listen_addresses = ‘localhost'改成listen_addresses = ‘*':

这里写图片描述

接下来要修改pg_hba.conf文件,将允许访问的ip地址加进列表,格式为”Type Database User Address Method”,比如我希望只有192.168.111.1这个地址能远程访问PostgreSQL数据库的话,加入下面的配置即可:

这里写图片描述

最后重启数据库服务使配置生效:

systemctl restart postgresql-9.3.service

此时就用主机的Navicat(192.168.111.1)连接虚拟机中的PostgreSQL服务器测试一下:

如上图,可以看到成功连接,至此关于PostgreSQL的安装就已全部介绍完毕。

总结

简单记录一下在Linux CentOS 7系统下安装PostgreSQL 9.3版本的全过程以及相关的配置,The End。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

15个postgresql数据库实用命令分享

这篇文章主要介绍了15个实用的postgresql数据库命令分享,都是一些技巧性的postgresql命令,需要的朋友可以参考下
收藏 0 赞 0 分享

PostgreSQL ERROR: invalid escape string 解决办法

这篇文章主要介绍了PostgreSQL ERROR: invalid escape string 解决办法,本文环境是JDBC+PostgreSQL,需要的朋友可以参考下
收藏 0 赞 0 分享

CentOS中运行PostgreSQL需要修改的内核参数及配置脚本分享

这篇文章主要介绍了CentOS中运行PostgreSQL需要修改的内核参数及配置脚本分享,本文从系统资源限制类和内存参数优化类来进行说明,需要的朋友可以参考下
收藏 0 赞 0 分享

在windows下手动初始化PostgreSQL数据库教程

在windows下手动初始化PG,是一件比较麻烦的事,下面我具体写一下过程,大家做一下参考。
收藏 0 赞 0 分享

SQL Server数据迁移至PostgreSQL出错的解释以及解决方案

最近对SQL Server到PostgreSQL的数据迁移时出现了问题,返回的错误为:invalid byte sequence for encoding "UTF8": 0x00。经查证pg源代码,该问题引起的原因是sql server的字符类型字段中含有空
收藏 0 赞 0 分享

初识PostgreSQL存储过程

这篇文章主要介绍了初识PostgreSQL存储过程,本文讲解了PostgreSQL中存储过程的语法,并给出了一个操作实例,需要的朋友可以参考下
收藏 0 赞 0 分享

PostgreSQL中调用存储过程并返回数据集实例

这篇文章主要介绍了PostgreSQL中调用存储过程并返回数据集实例,本文给出一创建数据表、插入测试数据、创建存储过程、调用创建存储过程和运行效果完整例子,需要的朋友可以参考下
收藏 0 赞 0 分享

PostgreSql新手必学入门命令小结

这篇文章主要介绍了PostgreSql新手必学入门命令小结,本文讲解了命令行登录数据库、查看帮助、常用命令等内容,需要的朋友可以参考下
收藏 0 赞 0 分享

PostgreSQL中关闭死锁进程的方法

这篇文章主要介绍了PostgreSQL中关闭死锁进程的方法,本文给出两种解决这问题的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

FREEBSD安装POSTGRESQL笔记

这篇文章主要介绍了FREEBSD安装POSTGRESQL笔记,本文着重讲解安装中遇到到的一些问题和解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多