PostgreSql远程连接配置

前端之家收集整理的这篇文章主要介绍了PostgreSql远程连接配置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1. 设置远程访问认证机制

编辑 $POSTGRES/data/pg_hba.conf 文件

e.g:

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
#host all all ::1/128 md5

说明:

# TYPE DATABASE USER CIDR-ADDRESS METHOD

说明每一行有五个字段,

分别是:连接类型、可使用的数据库名、使用者、DIDR地址、和验证方法等五项。

下面,我只介绍一些针对每个字段常用的选项。

字段一:TYPE。

可以选择:local或host。

前者只能允许本地的用户登陆Postgres数据库;后者可以接受远程客户登陆。所以,

我们应该使用“host”。

字段二:DATWABSE。

连接用户可以使用的数据库名字。可以使Postgres的一个具体的

数据库名,也可以使用“all”来允许用户访问所有数据库

字段三:USER。可以指定某个具体的用户来连接Postgres数据库(还要结合后面的地址字段),

也可以使用“all”来允许所有用户连接数据库

字段四:DIDR-ADDRESS。

这可能会让您不知所措,不知道它为何物。

其实,它就是IP地址与掩码的另一种表示方法而已。

Postgres是通过这个字段来了解,允许那些IP或IP网段连接此服务器。

它的格式是: IP地址/掩码。

这个掩码和子网掩码是一个道理,只不过是用一个小于等于32的正数来表示,

表示的正是子网掩码中高几位为1,

比如,255.255.255.0 就是“24”,说明高24位是1。

192.168.0.1/32 相当于 IP为192.168.0.1,子网掩码为255.255.255.255的网段,

很显然,这只表明192.168.0.1IP自己。

如果您对IP地址与子网掩码不太了解,请查看相关资料。

字段五:METHOD。

这是验证方法。可选的有:

reject:拒绝这个IP的用户访问;

md5:密码以md5作为hash编码;

password:密码作为明文传输(好恐怖!);

krb5:密码以krb5作为hash编码。

下面举一个例子,来说明如何进行设置:

# TYPE DATABASE USER CIDR-ADDRESS METHOD

#允许IP为192.168.0.1的所有用户登陆到Postgres服务器的所有数据库,采用md5验证。

host all all 192.168.0.1/32 md5

#允许用户testuser在192.168.0.XX的网段任意机器登陆Postgres服务器,

#只能使用数据库testdb,采用md5验证。

host testdb testuser 192.168.0.1/24 md5

【【

允许远程连接

vi /usr/local/pgsql/data/pg_hba.conf
添加
host all all 192.168.1.0/24 md5

  每项的具体意思在配置文件中有详细说明
配置iptables让远程主机能访问:
vi /etc/sysconfig
添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT

  service iptables restart

】】

2. 改监听地址

默认下,POSTGREsql只接受本地服务,要接受远程服务,需改postgresql.conf 文件listen_address = *

3. 如果是在Linux上的Postgresql

要打开 “unix的tcpip套接子”。

编辑 $POSTGRES/data/postgresql.conf 文件

将tcpip_socket=off改成tcpip_socket=on即可。

转自:http://hi.baidu.com/sharonbeauty/item/429fe70d28a13175d45a1121

原文链接:https://www.f2er.com/postgresql/196339.html

猜你在找的Postgre SQL相关文章