这里的系统环境是Ubuntu 22.04。下面是步骤:
1. 最新版本的源码地址 : https://ftp.postgresql.org/pub/latest/

wget https://ftp.postgresql.org/pub/latest/postgresql-18.4.tar.gz# 导入密钥wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -# 添加llvm18源echo "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-18 main" | sudo tee /etc/apt/sources.list.d/llvm18.listsudo apt update# 完整依赖sudo apt install gcc make libreadline-dev zlib1g-dev flex bison libssl-dev llvm-18-dev clang-18 lld-18
tar zxvf postgresql-18.4.tar.gzcd postgresql-18.4/# 带调试符号编译,插件开发专用./configure --prefix=/home/gauss/soft/pg18 CFLAGS="-g -O0" --with-llvmmake -j$(nproc)sudo make install
cd /home/gauss/soft/pg18mkdir datachmod 700 data# 使用gauss作为postgresql用户,使用data作为数据库目录$ tree -L 1.├── bin├── data├── include├── lib└── share
/home/gauss/soft/pg18/bin/initdb -D /home/gauss/soft/pg18/data --encoding=UTF8 --locale=C.UTF-8# 启动/home/gauss/soft/pg18/bin/pg_ctl start -D /home/gauss/soft/pg18/data -l /home/gauss/soft/pg18/log/pg.log# 查看状态/home/gauss/soft/pg18/bin/pg_ctl status -D /home/gauss/soft/pg18/data# 停止/home/gauss/soft/pg18/bin/pg_ctl stop -D /home/gauss/soft/pg18/data -m fast
psql -d postgres# 进入后,可修改密码ALTER USER gauss WITH PASSWORD '123456';# 创建数据库CREATE DATABASE gauss OWNER gauss;
gauss@gauss-pc-win:~$ cat /etc/systemd/system/pg18.service[Unit]Description=PostgreSQL 18 (run as gauss)After=network.target[Service]Type=forkingUser=gaussGroup=gaussExecStart=/home/gauss/soft/pg18/bin/pg_ctl start -D /home/gauss/soft/pg18/data -l /home/gauss/soft/pg18/log/pg18.logExecStop=/home/gauss/soft/pg18/bin/pg_ctl stop -D /home/gauss/soft/pg18/data -m fastExecReload=/home/gauss/soft/pg18/bin/pg_ctl reload -D /home/gauss/soft/pg18/dataRestart=on-failureRestartSec=5LimitNOFILE=65535Environment=PATH=/home/gauss/soft/pg18/bin:$PATHEnvironment=LD_LIBRARY_PATH=/home/gauss/soft/pg18/lib:$LD_LIBRARY_PATHEnvironment=PGDATA=/home/gauss/soft/pg18/data[Install]WantedBy=multi-user.target# 启动服务sudo systemctl daemon-reloadsudo systemctl enable pg18sudo systemctl start pg18sudo systemctl status pg18
gauss@gauss-pc-win:~/soft/pg18/data$ vi postgresql.conf

夜雨聆风