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

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 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  

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

安装 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 就全部结束。


相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
12天前
|
关系型数据库 Go 网络安全
go语言中PostgreSQL驱动安装
【11月更文挑战第2天】
46 5
|
19天前
|
数据库
|
6月前
|
安全 关系型数据库 数据库
PostGreSQL安装压缩包格式
PostGreSQL安装压缩包格式
|
6月前
|
SQL 缓存 关系型数据库
postgresql的安装和使用
postgresql的安装和使用
156 0
|
3月前
|
SQL 存储 关系型数据库
新手如何入门学习PostgreSQL?
新手如何入门学习PostgreSQL?
|
3月前
|
SQL 存储 关系型数据库
PostgreSQL核心之SQL基础学习
PostgreSQL核心之SQL基础学习
45 3
|
3月前
|
SQL 关系型数据库 Linux
在CentOS 6上安装和使用PostgreSQL的方法
在CentOS 6上安装和使用PostgreSQL的方法
42 2
|
3月前
|
Ubuntu 关系型数据库 数据库
在Ubuntu 18.04上安装和使用PostgreSQL的方法
在Ubuntu 18.04上安装和使用PostgreSQL的方法
64 1
|
3月前
|
Ubuntu 关系型数据库 Linux
在Ubuntu 14.04上安装和使用PostgreSQL的方法
在Ubuntu 14.04上安装和使用PostgreSQL的方法
47 1
|
3月前
|
关系型数据库 Linux 数据库
在CentOS 7上安装和使用PostgreSQL的方法
在CentOS 7上安装和使用PostgreSQL的方法
300 0
下一篇
无影云桌面