Linux编译安装PostgreSQL

最近打算用一用PostgreSQL数据库,先在Linux(CentOS7.5)中试了试,编译过程如下:

1、安装依赖、创建postgres账号

yum install readline-devel pam-devel libxslt-devel
groupadd -r postgres
useradd -r -M -s /bin/nologin -g postgres -d /data/pgsql postgres
passwd postgres

2、下载

wget https://ftp.postgresql.org/pub/source/v11.1/postgresql-11.1.tar.bz2

3、解压、编译

tar xvf postgresql-11.1.tar.bz2
cd postgresql-11.1
./configure --prefix=/data/pgsql --datadir=/data/pgsql/data --with-system-tzdata=/usr/share/zoneinfo --enable-spinlocks --disable-thread-safety --without-gssapi --without-llvm --with-pam --without-perl --without-python --with-readline --with-openssl --with-systemd --without-tcl --with-libxml --with-libxslt --with-zlib --enable-nls='zh_CN'
make -j5
make install

4、初始化数据库

chown postgres:postgres /data/pgsql/data -R
sudo -u postgres /data/pgsql/bin/initdb -D /data/pgsql/data/11

5、生成配置文件

cat > /lib/systemd/system/postgresql.service << "EOF"
[Unit]
Description=PostgreSQL database server
After=network.target
[Service]
Type=notify
User=postgres
Group=postgres
Environment=DATA_DIR=/data/pgsql/data/11
ExecStart=/data/pgsql/bin/postgres -D ${DATA_DIR}
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
TimeoutSec=300
OOMScoreAdjust=-1000
[Install]
WantedBy=multi-user.target
EOF

6、启动PostgreSQL并设置开机启动

systemctl start postgresql

systemctl enable postgresql

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据