Linux环境下安装PostgreSQL详细步骤
目录
下载
安装
手动注册为 systemd 服务
PostgreSQL是一款功能强大的开源关系型数据库管理系统,广泛应用于各种规模的项目中。本文将详细介绍如何在Linux环境下安装和配置PostgreSQL。
下载
官方下载网址:
https://www.postgresql.org/ftp/source/ 自行选择合适的版本。
下载后使用工具上传到服务器目录,这里使用Xftp进行上传演示。
也可以选择使用命令上传。
解压到指定目录。
tar -zxvf postgresql-13.3.tar.gz -C /export/server/
创建软链接。
ln -s /export/server/postgresql-13.3 /export/server/pgsql
安装
创建用户组
--创建postgres用户组
groupadd postgres
--创建postgres用户,其用户组为postgres
useradd postgres -g postgres
安装必须依赖。
yum install -y gcc gcc-c++
yum install -y readline-devel
yum install -y zlib-devel
编译。
--创建一个路径用于存放编译后的postgresql
mkdir /opt/postgresql
--进入安装路径下,编译源码并将编译后的postgresql存放在/opt/postgresql路径下
cd /opt/postgresql
./configure --prefix=/opt/postgresql
--构建
make
--安装文件
make install
创建存放数据目录,初始化数据库并启动。
--在/opt/postgresql路径下创建数据目录pg_data
mkdir /opt/postgresql/pg_data
--修改数据目录的所属用户与用户组均为postgres
chown -R postgres:postgres /opt/postgresql/pg_data
--切换到postgres用户,并初始化数据库
su postgres
/opt/postgresql/bin/initdb -D /opt/postgresql/pg_data
--启动数据库,并将日志打印到pg.log文件上
/opt/postgresql/bin/pg_ctl -D /opt/postgresql/pg_data -l /opt/postgresql/pg_data/pg.log start
创建测试数据库,修改超级管理员postgres密码。
--创建test_pgdb数据库
/opt/postgresql/bin/createdb test_pgdb
--访问test_pgdb数据库
/opt/postgresql/bin/psql test_pgdb
--修改管理员postgres的密码为postgres
ALTER USER postgres WITH PASSWORD 'postgres';
修改配置文件。
//先备份文件
cp /opt/postgresql/pg_data/pg_hba.conf /opt/postgresql/pg_data/pg_hba.conf_back
//编辑源文件
vim /opt/postgresql/pg_data/pg_hba.conf
修改一:
修改二:
--修改postgresql.conf文件 vim /opt/postgresql/pg_data/postgresql.conf 修改前先备份
--完成修改后重启数据库 /opt/postgresql/bin/pg_ctl -D /opt/postgresql/pg_data -l /opt/postgresql/pg_data/pg.log restart
查看是否启动成功,如下图表示已经成功。
查看端口是否开放。
如果看到 5432/tcp
,说明端口已成功开放。否则需要先开放端口。
如果端口未开放,直接手动添加端口后重启防火墙即可。
firewall-cmd --zone=public --add-port=5432/tcp --permanent
firewall-cmd --reload
手动注册为 systemd 服务
如果希望将 xugu 数据库注册为 systemd 服务,可以按照以下步骤操作:
创建服务文件:
sudo vim /etc/systemd/system/postgresql.service
在文件中添加如下配置:
[Unit]
Description=PostgreSQL database server
After=network.target[Service]
Type=forking
User=postgres
Group=postgres
ExecStart=/opt/postgresql/bin/pg_ctl -D /opt/postgresql/pg_data -l /opt/postgresql/pg_data/pg.log start
ExecStop=/opt/postgresql/bin/pg_ctl -D /opt/postgresql/pg_data stop
ExecReload=/opt/postgresql/bin/pg_ctl -D /opt/postgresql/pg_data reload
Restart=on-failure[Install]
WantedBy=multi-user.target
设置权限
sudo chmod 644 /etc/systemd/system/postgresql.service
重新加载systemd配置。
sudo systemctl daemon-reload
设置服务。
//开启开机自起
sudo systemctl enable postgresql
//启动服务
sudo systemctl start postgresql
//查看状态
sudo systemctl status postgresql
//停止服务
sudo systemctl stop postgresql
//重启服务
sudo systemctl restart postgresql
//禁止使用开机自启
sudo systemctl disable postgresql
使用Navicat工具连接远程。
至此安装完成!!!
参考文章:在Linux环境下安装PostgreSQL - 柯南。道尔 - 博客园