Welcome to kimi's blog

postgres源码安装

官网下载源码

官网https://ftp.postgresql.org

1.官网下载源码
wget https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2 
tar -xjf postgresql-11.22.tar.bz2 #  解压
cd postgresql-11.22  
./configure --prefix=安装目录   # 配置 PostgreSQL 的安装 没有指定 默认是/usr/local/pgsql/bin
./configure --prefix=/usr/local/pgsql --with-pgport=5432
make  # 编译
sudo make install # 安装
useradd -m postgres # 添加postgres
passwd postgres  # 如果需要设置密码

2. 初始化数据库
mkdir -p /usr/local/pgsql/data
chown -R postgres:postgres /usr/local/pgsql/data
chmod 700 /usr/local/pgsql/data
su - postgres   # 切换用户
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data  # 初始化数据库
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ -l logfile start  # 启动


3.开启自启动
sudo nano /etc/systemd/system/postgresql.service
 # 添加以下内容
[Unit]
Description=PostgreSQL database server
After=network.target

[Service]
Type=forking
User=postgres
Group=postgres
Environment=PGDATA=/usr/local/pgsql/data
ExecStart=/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l /usr/local/pgsql/logfile
ExecStop=/usr/local/pgsql/bin/pg_ctl stop -D /usr/local/pgsql/data
ExecReload=/usr/local/pgsql/bin/pg_ctl reload -D /usr/local/pgsql/data
PIDFile=/usr/local/pgsql/data/postmaster.pid

[Install]
WantedBy=multi-user.target

4. 启用并启动服务
sudo systemctl daemon-reload
sudo systemctl enable postgresql
sudo systemctl start postgresql

sudo systemctl status postgresql  # 查看状态
sudo systemctl stop postgresql    # 停止
sudo systemctl restart postgresql # 重启

如果是通过源码安装的 PostgreSQL,它通常会安装在以下路径之一:
二进制文件:/usr/local/pgsql 或 /usr/local/bin
库文件:/usr/local/lib/postgresql
配置文件:/usr/local/etc 或 /etc/postgresql
数据目录:/var/lib/postgresql 或 /usr/local/var/postgresql


5. 清除安装
sudo make 
rm -rf postgresql/
rm -rf /usr/local/pgsql
检查并清理残留文件
sudo find / -name "postgres*" -exec rm -rf {} \;

6.路径
echo "export PATH=/usr/local/pgsql/bin:$PATH" >> ~/.bashrc
echo "export PGDATA=/usr/local/pgsql/data" >> ~/.bashrc
source ~/.bashrc

posted @ 2025-03-27 15:05  魔女宅急便  阅读(21)  评论(0)    收藏  举报
Title