千家信息网

怎么用源码安装PostgreSQL

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,本篇内容介绍了"怎么用源码安装PostgreSQL"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!数据
千家信息网最后更新 2026年11月04日怎么用源码安装PostgreSQL

本篇内容介绍了"怎么用源码安装PostgreSQL"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

数据库版本:

PostgreSQL 9.6.3

系统版本:

CentOS release 6.6 (Final)

下载软件(Download software):

[root@Darren2 tools]# wget https://ftp.postgresql.org/pub/source/v9.6.3/postgresql-9.6.3.tar.gz

查看是否已经安装(Check is not instatll):

[root@Darren2 tools]# ps -ef |grep pgsql

root 28590 18695 0 20:24 pts/0 00:00:00 grep pgsql

[postgres@sht-sgmhadoopdn-02 ~]$ rpm -qa |grep postgres

postgresql-libs-8.4.18-1.el6_4.x86_64

解压(Extract software):

[root@Darren2 tools]# tar xf postgresql-9.6.3.tar.gz

编译和安装(Complie):

[root@Darren2 tools]# cd postgresql-9.6.3

[root@Darren2 postgresql-9.6.3]# ./configure --prefix=/usr/local/pgsql

编译所有能编译的东西,包括文档(HTML和手册页)以及附加模块(contrib):

[root@Darren2 postgresql-9.6.3]# make world && make install-world

......

make[2]: Leaving directory `/home/tools/postgresql-9.6.3/contrib/vacuumlo'

make[1]: Leaving directory `/home/tools/postgresql-9.6.3/contrib'

PostgreSQL, contrib, and documentation installation complete.

创建用组和用户(Create group and user)

[root@Darren2 ~]# groupadd -g 101 dba

[root@Darren2 ~]# cat /etc/group|grep dba

dba:x:101:

[root@Darren2 ~]# useradd -u 516 -g dba -G root -d /usr/local/pgsql postgres

[root@Darren2 ~]# id postgres

uid=516(postgres) gid=101(dba) groups=101(dba),0(root)

-u UID

-g 初始用户组

-G次要用户组

-m 创建用户家目录(系统用户默认不创建家目录)

-M 不创建用户家目录(普通用户默认创建家目录)

-s shell 默认是/bin/bash

-d指定家目录

[root@Darren2 home]# groups postgres

postgres : dba root

配置postgres密码

[root@Darren2 home]# passwd postgres

[root@Darren2 skel]# ls -al /etc/skel/

total 20

drwxr-xr-x. 2 root root 4096 Dec 20 2016 .

drwxr-xr-x. 84 root root 4096 Jul 11 22:27 ..

-rw-r--r--. 1 root root 18 Jul 18 2013 .bash_logout

-rw-r--r--. 1 root root 176 Jul 18 2013 .bash_profile

-rw-r--r--. 1 root root 124 Jul 18 2013 .bashrc

[root@Darren2 skel]# cp /etc/skel/.* /usr/local/pgsql/

创建数据目录(Create data folder)

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

配置.bash_profile(Configure .bash_profile)

[root@Darren2 pgsql]# cat /usr/local/pgsql/.bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PGHOME=/usr/local/pgsql

export PGDATA=/usr/local/pgsql/data

export PATH=$PATH:/usr/local/pgsql/bin

set umask to 022

umask 022

PS1=`uname -n`":"'$USER'":"'$PWD'":>"; export PS1

修改文件权限和所有者(Chmod and chown)

[root@Darren2 pgsql]# chmod -R 755 /usr/local/pgsql

[root@Darren2 pgsql]# chown -R postgres:dba /usr/local/pgsql

[root@Darren2 pgsql]# chmod -R 700 /usr/local/pgsql/data

配置postgresql服务启动和设置自启动(Configure postgresql service and boot auto start) --这步可不做

[root@Darren2 start-scripts]# cp /home/tools/postgresql-9.6.3/contrib/start-scripts/linux /etc/init.d/postgresql

[root@Darren2 start-scripts]# chmod +x /etc/init.d/postgresql

[root@Darren2 start-scripts]# chkconfig --list |grep postgresql

[root@Darren2 start-scripts]# chkconfig --add postgresql

[root@Darren2 start-scripts]# chkconfig --list |grep postgresql

postgresql 0:off 1:off 2:on 3:on 4:on 5:on 6:off

初始化数据和启动(Initialize database and start database)

[root@Darren2 start-scripts]# su - postgres

[postgres@Darren2 start-scripts]$ cd

[postgres@Darren2 ~]$ pwd

/usr/local/pgsql

[postgres@Darren2 ~]$ . .bash_profile

#初始化生成数据文件

Darren2:postgres:/usr/local/pgsql:>/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

#启动数据库

Darren2:postgres:/usr/local/pgsql:>pg_ctl start

server starting

Darren2:postgres:/usr/local/pgsql:>LOG: database system was shut down at 2017-07-12 00:49:17 CST

LOG: MultiXact member wraparound protections are now enabled

LOG: database system is ready to accept connections

LOG: autovacuum launcher started

创建用户和数据库(Create user and database)

psql

psql (9.6.3)

Type "help" for help.

postgres=# create user admin password'admin' login;

CREATE ROLE

postgres=# create database testdb with owner=admin;

CREATE DATABASE

Darren2:postgres:/usr/local/pgsql:>pg_ctl status

pg_ctl: server is running (PID: 51498)

/usr/local/pgsql/bin/postgres

安装过程中常见报错

编译时候报错:

[root@Darren2 postgresql-9.6.3]# ./configure --prefix=/usr/local/pgsql --without-zlib

......

configure: error: readline library not found --提示找不到readline

If you have readline already installed, see config.log for details on the

failure. It is possible the compiler isn't looking in the proper directory.

Use --without-readline to disable readline support.

查看系统已经安装readline:

[root@Darren2 postgresql-9.6.3]# rpm -qa |grep readline

compat-readline5-5.2-17.1.el6.x86_64

readline-6.0-4.el6.x86_64

通过yum search可以发现没有安装readline-devel:

[root@Darren2 postgresql-9.6.3]# yum search readline

......

readline-devel.i686 : Files needed to develop programs which use the readline library

readline-devel.x86_64 : Files needed to develop programs which use the readline library

......

通过yum安装之后,在编译即可通过:

[root@Darren2 postgresql-9.6.3]# yum install -y readline-devel


"怎么用源码安装PostgreSQL"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

用户 数据 目录 编译 数据库 系统 配置 源码 内容 文件 更多 版本 用户组 知识 过程 中常 实用 普通 可不 学有所成 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中智农互联网科技 互联网科技巨头监管 科技制造互联网公司 长亮科技互联网金融 互联网 科技馆 安控科技rtu产品工业互联网 云创客互联网科技公司 科技与互联网的利与弊 团飞科技与伯堂互联网服务平台 爱医互联网络科技 滨湖区互联网智能科技产品有哪些 伍佰万互联网科技怎么赚钱 本届互联网大会上的黑科技 长沙渺峰互联网科技有限公司 互联网科技收购价值 绵阳真晨互联网科技有限公司 山东蛋芒互联网科技有限公司 现代互联网科技公司 长沙易易互联网科技有限公司 互联网 科技节活动 微视频大赛 易互联网科技有限公司 九亚互联网科技 亿人帮互联网科技 互联网科技公司做什么 银川新华互联网科技学校地址 互联网科技与管理 互联网科技快讯热点 广州互联网高科技取餐柜 承德科技产业互联网平台 互联网 科技节活动 微视频大赛
0