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