-- 新建用户
bash
useradd postgres
passwd postgres
-- 用户加入sude组
先cd到/etc/sudoers目录下
由于sudoers文件为只读权限,所以需要添加写入权限,chmod u+w sudoers
vim sudoers
找到root ALL = (ALL) ALL这一行,在下一行加入username ALL = (ALL) ALL。username指代你想加入sudo组的用户名。
把sudoers文件的权限修改回来。chmod u-w sudoers
-- 用户生成公匙,登录gitee
bash
ssh-keygen -t rsa -C "xxx@xx.com"
打开id_rsa.pub文件,并且复制内容,放置在gitee SSH管理中
-- 源码下载 直接下载最新源码,github上的源码每一个提交都保证是可编译运行的
bash
git clone git@gitee.com:brookshappy/postgresql.git
-- 依赖安装
bash
yum install flex bison libreadline-dev libssl-dev libpam-dev libxml2 libxml2-dev libxslt-dev libldap-dev libperl-dev python3-dev zlib1g-dev libssh2-1-dev gdb c++ gcc make
-- 编译
为了能使用gdb调试,需要使用debug模式调试,我自己之前编译的时候发现即使指定-enable-debug在编译的时候发现也使用了-O2,所以这里建议直接修改configure中的-O和-O2为-g,pg的数据指定-D的 位置,所以在一个环境中,一个编译出来的数据库可以有多个运行环境,或者可以有多个编译环境,多个运行环境,所以需要自己按需配置
bash
./configure --enable-depend --enable-cassert --enable-debug --prefix=/home/postgres/postgresql/build
make
sudo make install
-- 配置环境变量
在bashrc中加入以下内容
bash
PATH=$PATH:/home/postgres/postgresql/build/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/postgres/postgresql/build/bin/lib
执行以下命令生效
bash
source .bashrc
-- 启动
bash
/home/postgres/postgresql/build/bin/initdb -D /home/postgres/data
/home/postgres/postgresql/build/bin/pg_ctl -D /home/postgres/data start
/home/postgres/postgresql/build/bin/pg_ctl -D /home/postgres/data stop
/home/postgres/postgresql/build/bin/psql -p 5432