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

创建环境

output.png
    • サーバ

 

    • 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

创建用户/数据库

我们将按照以下方式创建用户和数据库。

USERPASSWORDDB_NAMEsampleusersamplepasswordsampledb
[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设置。

认证/访问控制

在设置中,关键是从以下三个层面来考虑。

    1. 操作系统

 

    1. 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。

USERPASSWORDDB_NAMEHOSTPORT NOsampleusersamplepasswordsampledb192.168.1.105432
psqledit_connetion.png
libpg_dll.png
connention_success.png
bannerAds