|
# - Connection Settings - #listen_addresses = ''''localhost'''' # what IP interface(s) to listen on; # defaults to localhost, ''''*'''' = any listen_addresses = ''''*'''' #port = 5432 看到没有,就是把监听地址默认的localhost改为*,就是允许所有。再启动后telnet,呵呵,黑乎乎屏幕出现,没有问题。 哈哈,现在终于能用PHP来连接了吧。打开php里的pgsql扩展,输出phpinfo()看看能不能支持pgsql,一看,能了,赶紧写代码看看: <?php $link_str = "host=192.168.0.215 port=5432 dbname=test user=postgres password=postgres"; $link_id = pg_connect($link_str); print_r($link_id); ?> 保存为pgsql.php,打开浏览器:http://localhost/pgsq.php,哈哈,等着出链接ID吧! 哦,怎么回事?出现错误: Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: no pg_hba.conf entry for host "192.168.0.216", user "postgres", database "test" in E:\Web\www\Temp\pgsql\pg.php on line 3 仔细看,pg_hba.conf entry for host "192.168.0.216" ,哦,原来是这个配置文件里没有允许我这个IP地址的访问,真是安全哪! 看来这个pg_hba.conf里面也必须设置才行,赶紧打开: vi /var/pgsql/data/pg_hba.conf 添加了一段IP地址,如下内容: # TYPE DATABASE USER CIDR-ADDRESS METHOD # "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 trust host all all 192.168.0.216 trust # IPv6 local connections: host all all ::1/128 trust 看见没有,我添加了: host all all 192.168.0.216 trust 如果你要允许一个段的IP,就可以添加成 192.168.0.1/24 什么的。 再启动postgresql,我浏览器再次连接,浏览器输出: Resource id #1 ^_^,成功了吧! 赶紧下个windows下的管理工具来,去:http://www.pgadmin.org/ 下载了一个 pgAdmin III回来,安装完后,启动,添加服务器,成功。用起来不错,跟MysqlCC有一拼,还支持中文。 基本到这里就没有什么了,呵呵,另外,说一个pgsql的特征,就是如果同一个用户在多个IP上登陆到服务器上,那么就只允许一个用户执行,操作,其他用户无法执行,否则出现错误,比如我在我的XP上使用pgAdmin登陆后,我又到服务器端去执行操作: /var/pgsql/bin/createdb db1 createdb: database creation failed: ERROR: source database "template1" is being accessed by other users 看见没有,出错了吧。 从上面种种来看,pgsql真是安全哪,把很多安全问题都扼杀在摇篮,而且配置也很丰富,虽然我安装过程复杂了一点。其实多看看手册就明白的很了,只怪我不看手册。 晕,说了半天,没怎么说PHP怎么做开发,呵呵,搭环境比较重要吧,至于开发和pgsql本身的特性,慢慢去研究。 附加点好东西:
官方推荐的安装过程,但是实际中不好使: ------------------------------------------------------------------------------------------- ./configure gmake su gmake install adduser postgres mkdir /usr/local/pgsql/data chown postgres /usr/local/pgsql/data su - postgres /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 & /usr/local/pgsql/bin/createdb test /usr/local/pgsql/bin/psql test ------------------------------------------------------------------------------------------ PostgreSQL中文手册:http://www.pgsqldb.org/twiki/bin/view/PgSQL/PgDocList PostgreSQL中文论坛:http://bbs.pgsqldb.com PostgreSQL官方网站:http://www.postgresql.org Author: heiyeluren WriteTime: 2005-7-15 下午16:30
上一页 [1] [2] [MySql]PHP存取 Mysql 数据乱码终极解决方案 [Web开发]PHP提示Notice: Undefined variable的解决办法 [Web开发]PHP 大小写函数 [Web开发]PHP的sleep函数关闭窗口后是否继续运行? [Web开发]教你如何在PHP开启gzip页面压缩实例介绍 [Web开发]PHP过滤HTML字符串的常用函数使用方法介绍 [Web开发]PHP采集程序常用函数大全 [Web开发]用PHP实现Javascript的escape(),unescape()的方法 [Web开发]常见的PHP截取字符串函数整理 [办公软件]在sybase中插入图片、PDF、文本文件
|