PostgreSQL学习研究笔记(二)- 安装

PostgreSQL 9.5.18 安装

由于项目需要,准备使用PostgreSQL数据库,经过实践,将安装过程记录下来。

环境搭建使用 CentOS7 + PostgreSQL9.5(9.5.18)

下载

在 PostgreSQL 的官方网站找到源码文件目录,地址:https://www.postgresql.org/ftp/source/
在下载列表中,选择版本,如下图:

在这里插入图片描述

进入v9.5.18子目录后,可以看到文件列表:

在这里插入图片描述
如上图,我们选择 postgresql-9.5.18.tar.gz ,下载完成后,上传到 centos 的指定目录即可。

如果不会上传,请查看 上传方法请查看( FileZilla 将本地文件上传到linux目录

配置编译安装
1、在编译之前,先安装 c 编译器, gcc
[root@localhost ~]# yum install gcc 
2、进入pg 压缩包目录,通过执行命令进行解压:
[root@localhost ~]# tar -zxvf ./postgresql-9.5.18.tar.gz  

image-20190703174130813.png

3、进入解压目录,进行编译,并在编译时指定安装目录:
[root@localhost ~]# cd progresql-9.5.18
[root@localhost ~]# ./configure --prefix=/usr/local/postgresql
4、编译出错,缺少readline 开发包

image-20190703180223827.png

安装 readline-devel 包:
[root@localhost ~]# yum install redline-devel
5、安装完成后,再此执行编译
[root@localhost ~]# ./configure --prefix=/usr/local/postgresql

编译出错,缺少zlib开发包:
在这里插入图片描述

安装zlib开发包:
[root@localhost ~]# yum install zlib-devel
6、安装完成后,再次执行编译
[root@localhost ~]# ./configure --prefix=/usr/local/postgresql

编译成功,成功创建了 config.status 配置文件:
在这里插入图片描述

7、编译配置完成,开始执行安装,依次执行:
[root@localhost ~]# make
[root@localhost ~]# make install

看见以下提示,说明安装成功。

在这里插入图片描述在这里插入图片描述

8、用户权限与环境变量设置

编译安装成功后,下面要做的就是创建一个普通用户,因为超级用户(root)不能启动 postgresql,所以需要创建一个普通用户来启动数据库。执行命令 :

[root@localhost ~]# useradd postgresusr

接下来需要设置权限,将postgresql 的数据目录全部赋权给用户 postgresqlusr 用户(此处postgres的数据目录指定在/user/local/postgresql/data目录下):

[root@localhost ~]# chown -R postgresusr:postgresusr /usr/local/postgresql

最后再设置环境变量,此处仅设置 新用户 postgresusr 的环境变量,所以先切换到 postgresusr 用户。

[root@localhost ~]# su - postgresusr 

然后打开 .bash_profile 文件

[postgresusr@localhost ~]# vi .bash_profile

加入以下内容:

PGHOME=/usr/local/postgresql
export PGHOME 
PGDATA=/usr/local/postgresql/data
export PGDATA
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin
export PATH

在这里插入图片描述
修改完成,刷新,使其立即生效

[postgresusr@localhost ~]# source ./.bash_profile

接下来验证环境变量是否设置正确,切换任意目录输入

[postgresusr@localhost ~]# which psql   
[postgresusr@localhost ~]# psql -V 

查看 psql 客户端的路径以及 数据库版本,如图:

在这里插入图片描述

9、初始化数据库

由于配置来环境变量,所以此处我们直接执行 initdb 命令即可完成 db 初始化。

[postgresusr@localhost ~]# initdb

如下显示初始化成功:
在这里插入图片描述

进入 postgresql 目录,可以看到生成的数据目录 data 以及该目录的相关数据和配置文件:

在这里插入图片描述

10 、修改配置文件 ,pg_hba.conf 和 postgresql.conf

pg_hba.conf :访问控制配置(127.0.0.1 修改为信任的客户端ip 网段,使其可以远程访问)

postgresql.conf :主配置文件 (listen_addresses=localhost 改为 * 使其监听整个网络)

进入 /usr/local/postgresql/data 目录,修改文件,将pg_hba.conf 的ip 地址修改为0.0.0.0/0,加密方式修改为md5,就表示需要密码访问。

[postgresusr@localhost data]# vi pg_hba.conf

pg_hba.conf文件修改如下图:

在这里插入图片描述

修改postgresql.conf 文件,将listen_address=localhost 修改为 listen_addresses=’*’ , 同时需要开放端口5432,注意要切换为 root 账号才有权限;

[postgresusr@localhost ~]# su - root 
[root@localhost ~]# firewall-cmd --zone=public --add-port=5432/tcp --permanent
[root@localhost ~]# firewall-cmd --reload

在这里插入图片描述
可以通过 命令 来查看已打开的端口列表再次确认一下。

[root@localhost ~]# firewall-cmd  --zone=public --list-ports 

看到如下提示则说明成功开启端口:

在这里插入图片描述

至此,所有配置相关内容已经全部完成,最后就是启动数据库和连接数据库了;

11、启动并连接数据库

在初始化数据库结束时我们已经看到了启动命令
在这里插入图片描述
由于之前设置了环境变量,所以已经指定了数据目录PGDATA,-l表示日志文件目录,通常需要指定,所以我们在/usr/local/postgresql根目录下再创建一个log目录用来存放日志文件并赋予可写的权限。

别忘了切换账号:
[root@localhost ~]# su - postgresusr
进入 /usr/local/postgresql目录
[postgresusr@localhost ~]#  cd /usr/local/postgresql
创建文件夹
[postgresusr@localhost postgresql]# mkdir log  
赋予权限
[postgresusr@localhost postgresql]# chown -R postgresusr:postgresusr /usr/local/postgresql/log/  
启动数据库
[postgresusr@localhost postgresql]# pg_ctl start -l /usr/local/postgresql/log/pg_server.log   

看到如下提示就说明启动成功了:
在这里插入图片描述

启动成功后我们就可以通过postgresql自带的客户端工具psql来进行连接,直接输入psql 打开系统数据库 postgres 看到版本信息则说明连接成功:

[postgresusr@localhost postgresql]# psql postgres

在这里插入图片描述

设置 postgresusr 用户的登录密码 :
[postgresusr@localhost postgresql]# psql \password

验证非本地客户端工具连接,我们选择工具 navicat premium ,在主机打开 navicat 与虚拟机中的postgresql 服务器进行连接测试:

在这里插入图片描述
测试连接成功。

12、停止数据库可以使用命令 :
pg_ctl stop 

至次,用源码编译安装 postgresql 就全部结束。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

w风雨无阻w

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值