千家信息网

PostgreSQL编译安装

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,PostgreSQL编译安装一、PostgreSQL简介PostgreSQL是目前功能最强大的开源数据库,支持丰富的数据类型和自定义类型,且它提供了丰富的接口,可以轻易的扩展它的功能。与其他数据库相比
千家信息网最后更新 2025年11月08日PostgreSQL编译安装




PostgreSQL编译安装



一、PostgreSQL简介


PostgreSQL是目前功能最强大的开源数据库,支持丰富的数据类型和自定义类型,且它提供了丰富的接口,可以轻易的扩展它的功能。

与其他数据库相比,PostgreSQL有以下优势:

●PostgreSQL是目前功能最强大的开源数据库

●稳定可靠:PostgreSQL是唯一能做到数据零丢失的开源数据库

●支持广泛:PostgreSQL支持大量的主流开发语言,包括C、C++、Perl、Python、Java、PHP等

●社区活跃:基本上每三个月会推出一个新的补丁版本,这意味着已知BUG很快会被修复


PostgreSQL数据库与MySQL数据库对比,有以下优势:

●功能强大:支持所有主流的多表连接查询的方式(如:Nest loop、hash join等);有丰富的内置函数,并支持大量字段类型

●支持同步复制:从PostgreSQL9.1开始,支持同步复制功能,,通过master和slave之间的复制可以实现零数据丢失的高可用方案





二、PostgreSQL安装与配置


本次安装采用源码编译安装,仅作为学习工作使用,默认选项即可,读者可以自行选择安装的选项。


1、安装前的准备

●源码包

postgresql-9.6.1.tar.gz,可通过如下命令下载

wget https://ftp.postgresql.org/pub/source/v9.6.1/postgresql-9.6.1.tar.gz

●创建postgres用户

PostgreSQL不能以root身份运行,而且其默认运行用户为postgres

[root@a ~]# useradd postgres[root@a ~]# passwd postgres

●创建安装目录及数据目录

[root@a ~]# mkdir -p /usr/local/pgsql/data



2、开始安装配置

●解压并进行安装

解压源码包,并进入解压目录,执行配置安装命令

[root@a ~]# tar -xzf postgresql-9.6.1.tar.gz[root@a ~]# cd postgresql-9.6.1[root@a postgresql-9.6.1]# ./configure --prefix=/usr/local/pgsql[root@a postgresql-9.6.1]# make && make install

如果没什么error的话,我们就可以进行配置


●相关配置

1)添加环境变量

方便起见,我们在/etc/init.d/目录下新建一个名为pgsql.sh的文件,内容如下,并使该文件立即生效

[root@a ~]# more /etc/profile.d/pgsql.shexport PATH=$PATH:/usr/local/pgsql/bin[root@a ~]# source /etc/profile.d/pgsql.sh

2)将数据目录及安装目录属主、属组改为postgres

[root@a ~]# chown ‐R postgres.postgres /usr/local/pgsql

3)初始化数据库

切换为postgres用户,初始化postgresql数据库,此时会在/usr/local/pgsql/data目录下生成相应的数据库配置文件

[root@a ~]# su ‐ postgres[postgres@a ~]$ initdb ‐D /usr/local/pgsql/data# 需要注意的是:这里的/usr/local/pgsql/data目录必须为空# 现在可以执行如下命令启动postgresql数据库服务[postgres@a ~]$ pg_ctl ‐D /usr/local/pgsql/data ‐l logfile start

4)修改配置文件

现在我们的数据库只能用于本地用户访问,我们需要修改配置文件来使远程机器也可以访问

[postgres@a ~]$ cd /usr/local/pgsql/data[postgres@a data]$ vi  postgresql.conf# 在#listen_addresses = 'localhost'处添加监听地址为所有(*),即添加listen_addresses = '*'[postgres@a data]$ vi pg_hba.conf#  将host的IP地址改为所需要访问的IP网段地址,认证方式改为md

修改后截图如下:



5)复制服务启动脚本到/etc/init.d/目录下,添加pgsqld服务

切换为root用户,复制解压目录下contrib/startscripts/linux到/etc/init.d/pgsqld,并进行简单修改,赋予执行权限

[root@a postgresql-9.6.1]# cp contrib/start‐scripts/linux /etc/init.d/pgsqld[root@a postgresql-9.6.1]# vi /etc/init.d/pgsqld## 查看该选项是否与自己设定的数据目录相对应,若不对应,则修改## 该选项默认目录为PGDATA="/usr/local/pgsql/data"# 添加执行权限,并添加服务到开机启动# chmod +x /etc/init.d/pgsqld重新启动服务# service pgsqld restart# 添加到开机启动# chkconfig --add pgsqld# chkconfig pgsqld on



到此,PostgreSQL安装配置完成,我们可以切换到postgres用户,执行psql命令进入postgres交互模式,进行相关数据库操作。

数据 数据库 目录 配置 支持 用户 功能 文件 服务 命令 地址 源码 类型 切换 编译 最强 主流 优势 方式 权限 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 文件存放在服务器上安全吗 如何查询金蝶数据库保存路径 网络技术服务部的经营范围 电商领域里的网络安全事件 小学生家长网络安全演讲稿 dtcc中国数据库视频 网络安全态势评估仿真 网络安全整机生产 怀柔区综合网络技术服务质量保障 软件开发属于什么专业大专 河南数据软件开发服务有哪些 2020网络安全发展趋势 数据库保护技术包括 计算机网络技术安全就业方向 云南it软件开发排名 陈子豪我的世界免费服务器 在软件开发模型中 提出最早 服务器防火墙和安全组 个人介绍vlog网络技术 工程管理软件开发外包公司 微软数据库代码 数据库处理图片的方案 企业微信内部应用数据库 雷霹雳家庭教育与网络安全 日本国外服务器在线看视 服务器时钟误差标准 软件开发降低运行成本措施 兰州格罗网络技术 网安人员网络安全卫士 仟成保互联网科技有限公司
0