跳到主要内容

Linux 环境下 PostgreSQL 的编译

在这里,我们假定你已经完成了源代码的下载工作,并将对应的源代码文件夹名称命名为 “postgresql”。

PostgreSQL 文件夹截图

之后,新建一个脚本,命名为 build.sh。

build.sh

然后,在 build.sh 中写入如下的内容。

postgres_install_path=$HOME
postgres_dir_name=postgres

cd postgresql
./configure --prefix=$postgres_install_path/$postgres_dir_name --exec-prefix=$postgres_install_path/$postgres_dir_name --enable-debug --enable-profiling --enable-dtrace --enable-cassert CFLAGS="-ggdb -Og -g3 -fno-omit-frame-pointer"
make install

打开 shell,请确保工作路径与 build.sh 处于同一文件夹下面。

打开 shell

# 为 build.sh 添加执行权限
chmod +x build.sh

再在 shell 中执行如下的指令,他们是一些 PostgreSQL 所需要的软件包。

sudo dnf install -y gcc gdb make flex bison bison-devel readline-devel zlib-devel openssl-devel perl

之后,执行 build.sh,完成 PostgreSQL 的安装。

./build.sh

完成构建

在构建完成之后,在当前用户目录下面将会生成一个名为“postgres”的文件夹,里面将会存放 PostgreSQL 的库文件,应用程序文件等。

postgres 文��件夹

我们需要将它们导入到环境变量之中,这就需要对 .bashrc 文件进行修订。

# 使用 vim 编辑 .bashrc 文件
# 注意:需要键入 i 才可以开启编辑模式
# 保存文件,需要先按 esc,再输入 :w
# 退出,需要先按 esc,再输入 :w
vim ~/.bashrc
# 在文件原有的基础之上,添加如下内容
postgres_install_path=$HOME
postgres_dir_name=postgres
export PATH=$PATH:$postgres_install_path/$postgres_dir_name:$postgres_install_path/$postgres_dir_name/bin:$postgres_install_path/$postgres_dir_name/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$postgres_install_path/$postgres_dir_name/lib

编辑 .bashrc 文件

执行完这些流程之后,PostgreSQL 就处于可用状态了,执行如下指令初始化数据库。

initdb -d $HOME/postgres/data

initdb

正式启动 PostgreSQL

postgres -D $HOME/postgres/data

postgres_run

之后,再打开一个 shell 窗口,使用 psql 连接数据库

psql -d postgres

psql

就此,完成 PostgreSQL 编译工作