基于Linux系统、PostgreSQL10版本

PostgreSQL10 数据库启动

  1. 切换到 postgres 用户(su postgres)

  2. 进入/usr/local/postgresql/bin目录,执行命令 ./pg_ctl start 启动。

可使用 ./pg_ctl --help查看该命令使用帮助,包含start、stop、reload、status 等。

配置 PostgreSQL10 服务,并设置开机自启动

  1. 在***/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
  1. 保存.service文件后,重新加载systemd管理器配置
sudo systemctl daemon-reload
  1. 将pgsql服务设置为开机自启动:
sudo systemctl enable postgresql-10.service
  1. 启动服务:
sudo systemctl start postgresql-10.service

pg_hba.conf 配置文件

pg_hba.conf 是 PostgreSQL 数据库的一个关键配置文件,用于定义客户端连接认证规则。这个文件决定了哪些用户能够连接到数据库,以及他们可以使用哪些数据库。

若连接数据库报错 FATAL:no pg_hba.conf entry for host …

原因:pg数据库没有开放该ip连接权限。

解决方案:修改配置,步骤如下:

  1. 切换到 postgres用户;
  2. 执行 psql -c 'show data directory' 命令,查看输出的路径地址;
  3. 到该地址下找到 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		
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐