CentOS 7 环境下使用postgres源码编译安装PG

原创 2015年11月19日 11:27:17

以前第一次使用PG是在windows平台下,直接安装exe文件,特别方便,这次来试试在linux下直接通过编译源码来安装最喜欢的PG

1 . 首先第一步是下载源码,并放到自己的工作目录(随便哪里都行),本忍放在了当前用户的根目录下的github文件夹下的,本人下载的 postgres-REL9_5_BETA2.tar.gz
源码下载地址:github/postgres

关于下面的一系列命令,本人都是切换到root用户执行的哈
2 . 解压源码压缩文件,并编译安装
1). 解压

tar xzvf postgres-REL9_5_BETA2.tar.gz

2). 编译前配置,执行configure命令为下一步的make做环境配置,主要解决包依赖及其他功能依赖的问题;这里我一共遇到了两次错误,分别是缺少readline-devp,bsion, 其实只要是执行不成功,提示缺少什么就加什么,最后肯定会执行成功的!

./configure

3). 正式编译,执行gmake命令(有兴趣的可以去看看gmake和make的区别)

gmake

4). 安装,这一步执行完,那PG就已经成功被安装到系统啦(默认安装到 /usr/local/pgsql 目录,如想自定义,可以在执行 ./configure 命令时添加 –prefix 选项自定义安装目录)

gmake install

3 . 安装完的初使用
1). 创建系统的PG用户

adduser postgres

2). 创建数据库数据存放文件夹

mkdir /usr/local/pgsql/data

3). 授权数据文件夹给postgres用户

chown postgres /usr/local/pgsql/data

4). 命令行切换到postgres用户(可以使用passwd命令给postgres用户设置密码)

su postgres

5). 初始化数据库数据文件夹,命令执行成功后会有一句提示,说如何启动postgres service 服务

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

6). 启动postgres service 服务

/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data/ -l /usr/local/pgsql/data/logfile

7). 创建第一个数据库

/usr/local/pgsql/bin/createdb test

8). 使用psql工具连接进入到数据库操作命令行

/usr/local/pgsql/bin/psql test

9). 显示系统的Schema列表(每个数据库被新建时,默认包含一个public模式)

\d

10). 设置sql语句执行的上下文(即针对哪一个Schema操作)

set search_path to public

11). 新建一个示例表(table)

CREATE TABLE playground (
equip_id serial PRIMARY KEY,
type varchar (50) NOT NULL,
color varchar (25) NOT NULL,
location varchar(25) check (location in ('north', 'south', 'west', 'east', 'northeast', 'southeast', 'southwest', 'northwest')),
install_date date
);

12). 显示表空间,查看当前模式(Schema)下包含的所有表格,验证上面一步创建的表格是否成功

\dt

13). 往表里插入两条数据

INSERT INTO playground (type, color, location, install_date) VALUES ('slide', 'blue', 'south', '2015-11-18');
INSERT INTO playground (type, color, location, install_date) VALUES ('swing', 'yellow', 'northwest', '2015-11-20');

14). 查看表记录

SELECT * FROM playground;

15). 修改表结构(添加一个字段)

ALTER TABLE playground ADD last_maint date;

4 . 系统环境变量配置,上面我创建数据库并使用psql连接到test都是使用“/usr/local/pgsql/bin/”后面加命令才执行的操作,这样也太麻烦了嘛!
1). 添加临时环境变量,执行下面的命令后,PG安装目录下的bin目录已被加入环境变量,这个时候就不需要加那个命令前缀了,可以直接执行相关命令,但是这个是临时的,当注销当前用户后,设置就失效啦

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

2). 设置用久对所有用户有效的环境变量,编辑 “/etc/profile” 文件(编辑前最好使用cp命令进行备份,方便出错后恢复),在该文件末尾追加下面两行,然后保存退出,最后执行 reboot命令重启计算机,就是用久生效的环境变量设置;

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

3). 关于postgres server 启动的方法,这里可以有两种,一种是使用 “postgres “命令,

postgres -D /usr/local/pgsql/data 

另一种就是使用 “pg_ctl” 命令,关于两种命令的介绍,可以执行对应命令并加 “–help” 进行查看

pg_ctl start -D /usr/local/pgsql/data/ -l /usr/local/pgsql/data/logfile

结束:关于更多的PG相关操作及特性探索,可以去查看官方文档,本人是特别喜欢PG啦
当前稳定版本的文档 postgres9.4
开发中的最新 postgres9.5

版权声明:本文为博主原创文章,欢迎转载与采用。

Centos7 编译安装lamp

CentOS7编译安装LAMP引言在CentOS7上可以直接使用yum安装LAMP(Linux+Apache[httpd]+Mysql+PHP),比手动编译安装LAMP要简单的多,但在实际的生产环境中...
  • guoxiaojie_415
  • guoxiaojie_415
  • 2016年11月20日 18:17
  • 2931

centos 7.2 编译安装 lnmp环境(究极篇)

转自http://www.centoscn.com/CentosServer/www/2014/0904/3673.html 准备篇: CentOS 7.0系统安装配置图解教程 http://www....
  • woshihaiyong168
  • woshihaiyong168
  • 2017年01月15日 19:59
  • 4577

centos下配置LNMP环境(源码安装)

准备工作,安装依赖库,//检查并安装组件 yum -y install gcc automake autoconf libtool make gcc-c++ glibc libxslt-devel l...
  • fationyyk
  • fationyyk
  • 2016年04月30日 21:31
  • 5042

centos7编译安装git

centos7编译安装git最新版 假如系统已经安装了git,先删除。 如果是通过yum安装的,直接在终端使用以下指令删除: yum remove git ...
  • king1741622927
  • king1741622927
  • 2017年09月08日 17:10
  • 130

CentOS 7源码安装LNMP环境

前言环境版本如下 系统:CentOS 7 x86_64 Nginx:nginx-1.7.12 PHP:php-5.5.23 安装Nginx下载nginxcd /usr/local/src/ wget ...
  • whucaodi
  • whucaodi
  • 2016年01月21日 20:28
  • 1577

Linux CentOS 7 安装PostgreSQL 9.5(源码编译)

关于Linux CentOS 7中通过源码编译的方式安装PostgreSQL9.5~
  • wlwlwlwl015
  • wlwlwlwl015
  • 2016年11月21日 17:39
  • 6137

在Centos7下源码安装配置Redis

REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守B...
  • Chris_111X
  • Chris_111X
  • 2016年08月18日 13:48
  • 2048

LNMP源码编译安装(centos7+nginx1.9+mysql5.6+php7)

LNMP安装教程:1.准备工作:1)把所有的软件安装在/Data/apps/,源码包放在/Data/tgz/,数据放在/Data/data,日志文件放在/Data/logs,项目放在/Data/web...
  • u013000393
  • u013000393
  • 2016年05月11日 18:48
  • 61763

在CentOS 7下编译安装Nginx+PHP+MySQL环境

本文适合于已经对Linux操作系统具有基本操作经验,并且能够在Linux或Windows上通过一键搭建工具或者yum命令行进行环境搭建的读者,阅读本文需具有一定的专业知识,本文不建议初学者阅读。 本文...
  • whh306318848
  • whh306318848
  • 2017年11月15日 16:10
  • 356

CentOS7下编译安装 nginx1.12.0

1.创建群组 groupadd nginx 1.1.创建一个用户,不允许登陆和不创主目录  useradd -s /sbin/nologin -g nigix -M nginx 2.下...
  • xuguokun1986
  • xuguokun1986
  • 2017年07月07日 16:13
  • 1362
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CentOS 7 环境下使用postgres源码编译安装PG
举报原因:
原因补充:

(最多只允许输入30个字)