使用PostgreSQL进行客户端服务器数据库环境建设
创建环境

-
- サーバ
-
- CentOS 7.2
-
- PostgreSQL 9.2.15
-
- クライアント
-
- Windows7
- psqledit_4
服务器配置
安装PostgreSQL并启动服务
这个存储库可能不是最新版本,但本次我们将使用一个较好的版本。
如果要使用最新版本,请从官方网站下载。
https://www.postgresql.jp/download
[root@sample ~]# yum -y install postgresql postgresql-contrib postgresql-devel
[root@sample ~]# /usr/bin/postgresql-setup initdb
[root@sample ~]# service postgresql start
[root@sample ~]# service postgresql status
[root@sample ~]# systemctl enable postgresql
创建用户/数据库
我们将按照以下方式创建用户和数据库。
[root@sample ~]# adduser sampleuser
[root@sample ~]# passwd sampleuser
ユーザー sampleuser のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました
[root@sample ~]# su postgres
bash-4.2$ psql
psql (9.2.15)
"help" でヘルプを表示します.
postgres=# CREATE USER "sampleuser" CREATEDB PASSWORD 'samplepassword' LOGIN;
CREATE ROLE
postgres=# \q
bash-4.2$ exit
[root@sample ~]# su sampleuser
[sampleuser@sample ~]$ createdb sampledb;
[sampleuser@sample ~]$
[sampleuser@sample ~]$ psql -U sampleuser sampledb
sampledb=>
接下来,我们将进行允许远程连接的设置,之前已经完成了在本地环境下的PostgreSQL设置。
认证/访问控制
在设置中,关键是从以下三个层面来考虑。
-
- 操作系统
-
- PostgreSQL服务
- 对数据库的用户验证
1-1. 操作系统
需要打开iptables来允许通过TCP:5432端口进行与远程PostgreSQL服务器的通信
[root@sample ~]# firewall-cmd --permanent --add-port=5432/tcp
[root@sample ~]# firewall-cmd --reload
[root@sample ~]# iptables -L -n | grep 5432
2-1. PostgreSQL服务
访问PostgreSQL服务的设置在[ postgresql.conf ]文件中。
您可以通过设置listen_addresses指定允许访问的IP地址。
将listen_addresses设置为’*’,即可允许来自所有网络的访问。
※这种情况下允许来自192.168.1.0/24的通信。
[root@sample ~]# vim /var/lib/pgsql/data/postgresql.conf
\#listen_addresses = 'localhost'
listen_addresses = '*'
3-1. 用户认证到数据库
来自远程主机的认证记录在 [ pg_hba.conf ] 中
本次省略了详细参数说明
请参考 https://www.postgresql.jp/document/9.5/html/auth-pg-hba-conf.html
[root@sample ~]# vim /var/lib/pgsql/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
host sampledb sampleuser 192.168.1.0/24 md5
[root@sample ~]# service postgresql restart
Redirecting to /bin/systemctl restart postgresql.service
[root@sample ~]# service postgresql status
以上完成了从远程连接到PostgreSQL的准备工作。
客户设置
下記の中から一つのオプションで中国語で言い換えます:
这次将会确认能否从客户端环境远程连接。
作为连接到PostgreSQL的客户端工具,
-
- pgAdmin
- PSqlEdit
可能有以下选择。我个人认为,作为客户端工具,功能简单的PSqlEdit很容易使用。(仅供参考)
可以从http://www.hi-ho.ne.jp/a_ogawa/psqledit/psqledit_4010.zip下载。
请将其解压到C:\Program Files\psqledit_4目录中,并执行psqledit.exe。


