CentOS7的postgresql自动启动设置-直到外部连接
CentOS7的postgreSQL自动启动设置-直至外部连接完成。
继续从源代码编译安装CentOS7上的postgreSQL。
安装了PostgreSQL的目录
/home/mayser/mypgsql
放置启动脚本的目录和文件名:
/usr/lib/systemd/system/postgresql.service
启动时的路径设置
#2019/09 postgresqlのパス通す
export PATH=/home/mayser/pgsql/bin:$PATH
准备启动脚本
以下是对 “/usr/lib/systemd/system/postgresql.service” 的本地中文释义:
“/usr/lib/systemd/system/postgresql.service” 的背景是系统中的一个服务文件。
[Unit]
Description=PostgreSQL database server
After=network.target
[Service]
Type=forking
User=mayser
#Group=admin
Environment=PGDATA=/home/mayser/mypgsql
Environment=PGLOG=/home/mayser/mypgsql/serverlog
OOMScoreAdjust=-1000
ExecStart=/home/mayser/pgsql/bin/pg_ctl -D /home/mayser/mypgsql start
ExecStop=/home/mayser/pgsql/bin/pg_ctl -D /home/mayser/mypgsql stop
TimeoutSec=300
[Install]
WantedBy=multi-user.target
随后,通过以下命令启动
(即使操作系统重新启动,postgreSQL也会被启动)
sudo systemctl enable postgresql
systemctl start postgresql
systemctl list-unit-files | grep “postgres”
将以上命令的用法改写成中文,只提供一种选项:
sudo systemctl enable postgresql
systemctl start postgresql
systemctl list-unit-files | grep “postgres”
将以上命令的用法改写成中文,只提供一种选项:
启用 postgresql 服务,输入以下命令:
sudo systemctl enable postgresql
启动 postgresql 服务,输入以下命令:
systemctl start postgresql
查找包含 “postgres” 的所有单元文件,输入以下命令:
systemctl list-unit-files | grep “postgres”
允许外部连接的配置设置
PostgreSQL的默认设置限制了只能从本地主机进行连接。因此,如果要从客户端应用程序访问PostgreSQL,需要进行配置。
需要进行如下设置:
1. 在CentOS上允许F/W。
2. 编辑/home/mayser/mypgsql/postgresql.conf。
3. 编辑/home/mayser/mypgsql/pg_hba.conf。
CentOS上的防火墙许可
更改 postgresql.conf
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on;←コメントを解除し、''内を * に修正
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
port = 5432 # (change requires restart)←コメントを解除し、必要あればポート番号を変更する
max_connections = 100 # (change requires restart)
编辑pg_hba.conf文件
如果要允许来自所有主机的连接,并且允许连接到所有数据库,需要添加以下描述。
host all all 0.0.0.0/0 trust
确认连接
首先,通过telnet检查网络通信(是否打开了5432端口?)
telnet 192.168.10.8 5432
如果出现黑屏,表示已经连接成功。