转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> Sql Server >> 正文
使用PostgreSQL数据库做PHP开发         

使用PostgreSQL数据库做PHP开发

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2391 更新时间:2007/11/14 13:07:50

使用PostgreSQL数据库做PHP开发


说明:下面内容更多是讲怎么安装环境的,实际开发内容几乎没有,你可以考虑是否阅读本文。

PostgreSQL数据库应该算是数据库界的启明星,其中一些功能甚至超过了Oracle等商业数据库,在开源世界来讲,可以说是非常不错的,甚至MySQL都跟它差很远。它支持包括JDBC、ODBC、DBI等等数据库链接方式,基本上能够目前所有流行的编程语言进行交互,可以说是适合任何编程开发者。

官方的介绍内容也许更能说明问题:http://www.pgsqldb.org/pgsqldoc-8.0c/preface.html
---------------------------------------------------------------------------------------------------------------------------------------------
何为 PostgreSQL?
PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。 POSTGRES 领先的许多概念只是在非常迟的时候才出现在商业数据库中。

PostgreSQL 是最初的伯克利的代码的一个开放源码的继承人。 它支持大部分 SQL:2003 标准并且提供了许多其他现代特性:

复杂查询
外键
触发器
视图
事务完整性
多版本并发控制
同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的:

数据类型
函数
操作符
聚集函数
索引方法
过程语言

并且,因为许可证的灵活,任何人都可以以任何目的免费使用,修改,和分发 PostgreSQL, 不管是私用,商用,还是学术研究使用。
----------------------------------------------------------------------------------------------------------------------------------------------


今天想尝试一下PHP使用PostgreSQL做开发的感觉,于是就赶紧装一个吧。

一开始考虑是在Windows安装最新的8.0.3版本,但是想想,可能实际开发平台更多的是在Unix/Linux下,于是就准备在FreeBSD下做开发,刚好昨天把FreeBSD5.4升级了,赶紧ports一个回来。

cd /usr/ports/database/postgresql80-server
cat Makefile

一看,原来最新版是8.0.3,呵呵,正好呀,赶紧装。
make install
漫长等待的过程,它要去下载什么gmake,还要下载postgresql-8.0.3.tar.bz2等文件,老半天才装完。呵呵,很兴奋,启动一下看看:
/usr/local/etc/rc.d/postgresql.sh start    (这个文件也许你的文件名不是这样)
晕,怎么出错了?反正死活就是启动不了,看来还得手工安装一下,先卸载掉吧:
cd /usr/ports/database/postgresql80-server
make deinstall

唉,把文件拷走吧:
cd /usr/ports/distfiles
mv ./postgresql-8.0.3.tar.bz2 /usr/local/src

解压缩:
cd /usr/local/src
bunzip2 -d ./postgresql-8.0.3.tar.gz2
tar xvf ./postgresql-8.0.3.tar

解压缩成功:
cd ./postgresql-8.0.3
配置文件,安装到我们的老目录里:
./configure --prefix=/usr/local/pgsql
gmake

等待的过程,到后来,晕,怎么又出错?
提示文件系统已经满了。。。-_-#
我的是虚拟机,空间分配不合理,看看能不能给 /usr 加点空间。
去google狂搜资料,只找到个 tunefs 的命令能解决这个问题,看了半天也没明白,链接:
http://www.freebsd.org.cn/snap/doc/zh_CN.GB2312/books/handbook/configtuning-disk.html
想想还是算了,装到其他分区不就完了,看看空间情况:
%df
Filesystem  1K-blocks    Used  Avail Capacity  Mounted on
/dev/ad0s1a    507630   55060 411960    12%    /
devfs               1       1      0   100%    /dev
/dev/ad0s1e    507630   70072 396948    15%    /tmp
/dev/ad0s1f   2025982 1960440 -96536   105%    /usr
/dev/ad0s1d    507630   76340 390680    16%    /var

那就装到 /var 下吧,呵呵:
./configure --prefix=/var/pgsql
gmake
gmake install

过程顺利,好,添加个运行pg的用户:

adduser
Username: postgres
Full name: PostgreSQL Server User
Uid (Leave empty for default):
Login group [postgres]:
Login group is postgres. Invite postgres into other groups? []:
Login class [default]:
Shell (sh csh tcsh bash nologin) [sh]: /bin/csh
Home directory [/home/postgres]:
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]: yes
Lock out the account after creation? [no]:
Username   : postgres
Password   : <blank>
Full Name  : PostgreSQL Server User
Uid        : 1004
Class      :
Groups     : postgres
Home       : /home/postgres
Shell      : /bin/csh
Locked     : no

建立存放数据库的目录:
mkdir /var/pgsql/data
把所有权给postgres用户:
chown postgres /var/pgsql/data
切换到用户postgres:
su - postgres
初始化数据库:
/var/pgsql/bin/initdb -D /var/pgsql/data
开始运行:
/var/pgsql/bin/postmaster -D /var/pgsql/data >logfile 2>&1 &
晕,怎么一堆错误!!!
postmaster does not know where to find the server configuration file.
You must specify the --config-file or -D invocation option or set the PGDATA environment variable
.
没有指定配置文件,赶紧看看配置文件再哪里?
find / -name "postgresql.conf"
/var/pgsql/data/postgresql.conf

哦,原来初始化数据库的时候就建立了配置文件,赶紧写上:
./postmaster --config-file=/var/pgsql/data/postgresql.conf
晕,怎么又出现新的错误?
哦,原来没有配置postgresql.conf的内容,赶紧把重要的配置一下,配置过的内容如下:

#---------------------------------------------------------------------------
# FILE LOCATIONS
#---------------------------------------------------------------------------
 
# The default values of these variables are driven from the -D command line
# switch or PGDATA environment variable, represented here as ConfigDir.
# data_directory = ''''ConfigDir''''          # use data in another directory
data_directory = ''''/var/pgsql/data''''
# hba_file = ''''ConfigDir/pg_hba.conf''''    # the host-based authentication file
hba_file = ''''/var/pgsql/data/pg_hba.conf''''
# ident_file = ''''ConfigDir/pg_ident.conf''''  # the IDENT configuration file
ident_file = ''''/var/pgsql/data/pg_ident.conf''''

看出来了吧,就是指定了一个数据库文件目录,两个配置文件的路径。
再启动:
./postmaster --config-file=/var/pgsql/data/postgresql.conf
LOG:  database system was shut down at 2005-07-15 01:20:24 CST
LOG:  checkpoint record is at 0/A38D20
LOG:  redo record is at 0/A38D20; undo record is at 0/0; shutdown TRUE
LOG:  next transaction ID: 678; next OID: 17231
LOG:  database system is ready

OK,成功。好,看看能不能从我哪儿访问,先访问下默认的5432端口:
telnet 192.168.0.215 5432
怎么回事,无法连接?赶紧Google一下,哦,原来是默认只是允许本地链接,要修改配置文件:
vi /var/pgsql/data/postgresql.conf

修改以下内容:
#---------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#---------------------------------------------------------------------------

[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、文本文件
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台