基于Linux系统、PostgreSQL10版本
PostgreSQL10 数据库启动
-
切换到 postgres 用户(
su postgres
) -
进入
/usr/local/postgresql/bin
目录,执行命令./pg_ctl start
启动。
可使用 ./pg_ctl --help查看该命令使用帮助,包含start、stop、reload、status 等。
配置 PostgreSQL10 服务,并设置开机自启动
- 在***/etc/systemd/system/***目录下,新建.service文件。样例:postgresql-10.service
[Unit]
Description=PostgreSQL 10 database server
After=network.target
[Service]
Type=forking
User=postgres
Group=postgres
# 路径可能需要根据实际安装情况进行调整
# 确保ExecStart和ExecStop中的路径与你的实际PostgreSQL安装路径相匹配。
ExecStart=/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data
ExecStop=/usr/local/pgsql/bin/pg_ctl stop -D /usr/local/pgsql/data -s -m fast
[Install]
WantedBy=multi-user.target
- 保存.service文件后,重新加载
systemd
管理器配置
sudo systemctl daemon-reload
- 将pgsql服务设置为开机自启动:
sudo systemctl enable postgresql-10.service
- 启动服务:
sudo systemctl start postgresql-10.service
pg_hba.conf 配置文件
pg_hba.conf 是 PostgreSQL 数据库的一个关键配置文件,用于定义客户端连接认证规则。这个文件决定了哪些用户能够连接到数据库,以及他们可以使用哪些数据库。
若连接数据库报错 FATAL:no pg_hba.conf entry for host …
原因:pg数据库没有开放该ip连接权限。
解决方案:修改配置,步骤如下:
- 切换到
postgres
用户; - 执行
psql -c 'show data directory'
命令,查看输出的路径地址; - 到该地址下找到 pg_hba.conf 文件,添加一行配置,下面是样例:
# TYPE DATABASE USER ADDRESS METHOD
#允许26.70.208.68连接数据库
host all all 26.70.208.68/32 trust
#允许所有主机连接数据库
host all all all md5