缺省情况下,Postgresql只允许来自本机且通过 unix 域套接字或TCP/IP方式的连接。 你只有在修改了配置文件postgresql.conf中的listen_addresses,且也在配置文件$PGDATA/pg_hba.conf中打开了 基于远程电脑( host-based )的身份认证,并重新启动Postgresql,否则其他电脑是不能与你的Postgresql服务器进行连接的。
文件说明
#listen_addresses = 'localhost'
listen_addresses = '*'
pg_hba.conf
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 172.0.0.0/8 trust
host all all 143.0.0.0/8 trust
host all all 148.0.0.0/8 trust
host all all 192.0.0.0/8 trust
=====================================================================================
参考文章
=====================================================================================
(http://www.postgresql.org/docs/faqs.FAQ_chinese_simp.html#3.2)
3.2) 我如何控制来自其他电脑的连接?
缺省情况下,Postgresql只允许来自本机且通过 unix 域套接字或TCP/IP方式的连接。 你只有在修改了配置文件postgresql.conf 中的listen_addresses ,且也在配置文件$PGDATA/pg_hba.conf 中打开了 基于远程电脑( host-based )的身份认证,并重新启动Postgresql,否则其他电脑是不能与你的Postgresql服务器进行连接的。
====================================================================================
(http://blog.csdn.net/xiaobiaolt/archive/2009/08/21/4470790.aspx)
一、配置方法
pg_hba.conf文件中添加如下一行就可以保证192.168.12.87的客户机可以连接此服务器
host all all 192.168.12.87/32 trust
配置192.168.12.87/32即CIDR地址可以获得连接的不同限制
192.168.12.87/32 或192.168.12.87 255.255.255.255,只能允许192.168.12.87的主机访问;
192.168.12.0/24 或192.168.12.87 255.255.255.0,允许IP为192.168.12.xx 的主机可以访问;
192.168.0.0/16 或192.168.12.87 255.255.0.0允许IP为192.168.xx.xx 的主机可以访问;
192.0.0.0/8 或192.0.0.0 255.0.0.0 允许IP为192.xx.xx.xx的主机访问。
地址的含义:32、24、16、8分别代表网络地址;
255代表子网掩码
二、连接出错的解决办法:
提示出错
“missing or erroneous pg_hba.conf file”
查看目标文件,pg_hba.conf文件存在。解决办法是按照上面的格式要求添加一行,
然后重新启动postgresql服务。
三、IP地址介绍
1、IP地址构成
一般地,32的IP地址被分为两部分,即网络号和主机号。为提高IP地址的使用效率,
子网编址的思想是将主机号部分进一步划分为子网号和主机号: 网络号 子网号 主机号
子网掩码与目的地址相与,获得子网地址
2、CIDR无类别编址
CIDR(Classless Inter-Domain Routing,无类别域间路由)的基本思想是取消地址的分类结构,
取而代之的是允许以可变长分界的方式分配网络数。它支持路由聚合,可限制Internet主干路由器中必要路由信息的增长。
3、子网的计算
我们在进行IP规划时,总是头疼子网和掩码的计算,其主要原因是对十进制和二进制的转换不熟练。
现在有一种简单办法,可以解决这个问题。首先,我们看一个例子:
一个主机的IP地址是202.112.14.37,掩码是255.255.255.240,要求计算这个主机所在网络的网络地址和广播地址。
常规办法是把这两个都换算成二进制,然后相与,就可得到网络地址。其实大家只要仔细想想,可以得到一个方法:掩码为255.255.255.240那么可以知道这个掩码所容纳的IP
地址有256-240=16个(包括网络地址和广播地址),那么具有这种掩码的网络地址一定是16的倍数。而网络地址是子网IP地址的开始,广播地址是结束,可使用的IP地址在这个
范围内,因此比37刚刚小的,又是16的倍数的数只有32,所以得出网络地址为202.112.14.32。而广播地址就是下一个网络的网络地址减一。而下一个16的倍数是48,因此可以得到
广播地址为202.112.14.47。
四、客户端连接
1、在安装目录的bin目录下执行psql.exe 文件
psql.exe -h localhost -p 5432 -U admin postgres;
2、用pgAdmin客户端,界面直接新建一个连接即可。
五、postgresql数据库的注意问题
1、数据库自增字段
serial,如果不输入,会自增,输入的话,按照输入值来填,但是会记录输入的记录总数,一旦自动输入
2、数据库内部严格区分大小写,但是执行命令时会把大写全部转换成小写,
读出来的数据会区分大小写,这一点特别注意。
3.Postgresql的时间类型 timestamp '2001-09-29 00:00:00' time '04:00:00' 可以很方便进行时间比较