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

以前第一次使用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

你可能感兴趣的:(postgresql)