1.00001git源码clone后进行编译(带调试)

-- 新建用户

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
相关推荐
闲云一鹤12 小时前
Git LFS 扫盲教程 - 你不会还在用 Git 管理大文件吧?
前端·git·前端工程化
vibecoding日记3 天前
为什么我就想要「线性历史 + Signed Commits」,GitHub 却把我当猴耍 🤬🎙️
git·编程工具
程序员小崔日记4 天前
如何将代码轻松上传到 Gitee?Git 使用全攻略!
git·gitee·上传
Bigger5 天前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
红豆子不相思6 天前
Tomcat 环境搭建与集群实战
服务器·git·tomcat
杰哥技术分享6 天前
Git 仓库迁移技术文档:从 CODING.net 迁移至腾讯云 CNB
git
梅孔立6 天前
Ansible 100 台服务器一键管控实战 进阶版
服务器·git·ansible
qq_426003966 天前
git切换当前分支到远程分支
git