事情背景:需要在Linux上安装postgres数据库,但安装目录想直接指定,所以想通过源码编译安装pg
首先下载源码安装包。源码下载地址:https://github.com/postgres/postgres/releases
本人下载的版本是postgres-REL_10_9.tar.gz
用下面命令切换root用户进行操作:
sudo -i
(1)将安装包上传到Linux服务器
(2)解压源码压缩文件
tar -xvfz postgres-REL_10_9.tar.gz
(3)编译前的配置。
cd postgres-REL_10_9 ./configure
(4)正式编译
make
在这个过程中,会遇到各种依赖缺失而报错,通过yum install *** 进行安装即可。
(5)安装
make install
(6)创建系统pg用户,并设置密码
adduser postgres
passwd postgres
(7)创建数据库数据存放的文件夹
mkdir /usr/local/pgsql/data
(8)授权数据文件夹给postgres用户
chown postgres /usr/local/pgsql/data
(9)切换postgres用户初始化数据库文件夹
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
(10)启动postgres service 服务
/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data/ -l /usr/local/pgsql/data/logfile
(11)创建第一个数据库
/usr/local/pgsql/bin/createdb test
(12)使用psql工具连接进入到数据库操作命令行
/usr/local/pgsql/bin/psql test
(13)设置sql语句执行的上下文(即针对哪一个Schema操作)
set search_path to public
(14)创建测试表
create table test(id int primary key,name varchar(50) not null); insert into test(id,name) values(1,'小明'); insert into test(id,name) values(2,'小红');
(15)查看表记录
select * from test;
(16)配置环境变量
切换至root用户
vi /etc/profile
在文件中尾部修改:
export JAVA_HOME=/usr/java/jdk1.8.0_121 export JRE_HOME=/usr/java/jdk1.8.0_121/jre export PG_HOME=/usr/local/pgsql #postgres数据库的安装路径 export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$PG_HOME/bin:$JAVA_HOME/bin:$PATH #配置环境变量
(17)重启配置
source /etc/profile
这样就完成了postgres的安装