PostgreSQL源码编译

环境:Ubuntu 16.04+PostgresQL13.2

1、指定安装路径

./configure --prefix=/opt/postgresql

2、编译安装

sudo make
sudo make install

3、添加用户和用户组

 sudo groupadd postgres
 sudo useradd -g postgres  postgres

4、创建数据库文件目录

sudo mkdir /opt/postgresql/data

5、用户文件访问权限变更

sudo chown postgres /opt/postgresql/data/
sudo chgrp postgres /opt/postgresql/data/

6、数据库初始化

sudo su postgres
/opt/postgresql/bin/initdb -D /opt/postgresql/data/

初始化成功后,如下图所示:

7、配置

配置允许访问的IP(所有IP都可以访问则对应为0.0.0.0/0)。

vim /opt/postgresql/data/pg_hba.conf

添加如下内容

配置监听地址和端口号:

vim /opt/postgresql/postgresql.conf

内容:

listen_addresses = '*' 
port = 5433 

8、启动数据库

/opt/postgresql/bin/pg_ctl -D /opt/postgresql/data -l /opt/postgresql/data/logfile start

 9、登录数据库

 ./psql postgres -p 5433

 10、创建开机启动服务

进入系统目录:

cd /etc/systemd/system/

创建postgresql.service文件:

[Unit]
Description=postgresql 13.2
After=network.target auditd.service

[Service]
User=postgres
Type=forking
PIDFile=/opt/postgresql/data/postmaster.pid
ExecStart=/usr/local/pgsql/bin/pg_ctl -D /opt/postgresql/data -l /opt/postgresql/data/logfile start
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartPreventExitStatus=255

[Install]
WantedBy=multi-user.target

or

[Unit]
Description=postgresql 13.2
After=network.target auditd.service

[Service]
User=postgres
ExecStart=/opt/postgresql/bin/pg_ctl -D /opt/postgresql/data -l /opt/postgresql/data/logfile start
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartPreventExitStatus=255
Type=notify

[Install]
WantedBy=multi-user.target

最后启动服务即可。

11、开放防火墙

sudo iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 5433 -j ACCEPT

 

posted @ 2021-04-27 15:42  钟齐峰  阅读(971)  评论(0编辑  收藏  举报