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上的防火墙许可

image.png

更改 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 

如果出现黑屏,表示已经连接成功。

image.png
广告
将在 10 秒后关闭
bannerAds