PostgreSQL
以下将说明使用Apache+PHP3+PostgreSQL作为基于Web的数据库平台的安装和配置方法。关于Apache、PHP3和PostgreSQL的更多内容可以从软件的附带文档、Linux的HOWTO文件以及以下站点处找到:Apache: http://www.apache.org
PHP3: http://www.php.net
PostgreSQL: http://www.postgresql.org
1. PostgreSQL的安装和设置
1.1 获得源程序
PostgreSQL最新版本的源程序可以在http://www.postgresql.org找到。目前的最新版本是6.5.X。以下以6.4版为例说明安装方法。
1.2 准备工作
编译PostgreSQL需要3.75版以上的GNU make (用gmake -v检查版本号) ,2.7.2版以上的 GNU C(用gcc -v 检查版本号)以及bison和flex(通常这两种工具都已经安装) 。
PostgreSQL的默认安装位置为/usr/local/pgsql/,系统文件约需3-10M空间。附带的测试程序在运行时需要约20M空间,所以安装时应注意预留足够的空间,建议/usr/local/pgsql/ 目录下保证有50M以上空间。另外展开和编译源程序约需30-60M空间。
对多用户的应用环境,建议设置一个专用用户名,例如 postgres :
$ su 首先登录为root
# /usr/sbin/adduser postgres
另外PostgreSQL使用了System V的共享内存机制。FreeBSD默认状态不支持该机制。如使用中的内核的设置文件中无以下项目则需追加后重新编译内核:
options SYSVSHM
options SYSVSEM
options SYSVMSG
建保存源程序的目录/usr/local/src/pgsql和安装目录/usr/local/pgsql:
#mkdir /usr/local/pgsql
#chown postgres:postgres /usr/local/pgsql
#mkdir /usr/local/src
#mkdir /usr/local/src/pgsql
#chown postgres:postgres /usr/local/src/pgsql
1.3 编译
以postgres用户登录, 解压缩源程序:# su postgres
$ tar -xzvf /tmp/postgresql-v6.4.tar.gz
[假设下载文件保存在/tmp目录下]
完成后应生成一个postgresql-v6.4目录,下面开始编译:
$ cd /usr/local/src/pgsql/postgresql-v6.4/src
$ ./configure --with-mb=EUC_CN
其中,--with-mb=指定系统默认字符编码。除GB码(EUC_CN) 外,还可以指定为日语(EUC_JP)、韩语(EUC_KR) 、台湾(EUC_TW) 、UNICODE、MULE_INTERNAL、LATIN1等。
注意,如使用6.3.2版需用--with-template=... 指定操作系统,具体内容见源程序附带的说明文件。
configure如顺利完成,将生成GNUmakefile,Makefile.global和Makefile.port等文件。 $ gmake all在编译结束后将显示以下信息:All of PostgreSQL is successfully made. Ready to install。
安装:$ gmake install
正常完成后,PostgreSQl的执行文件和库文件等将被安装到/usr/local/pgsql目录下。
安装附带文档:
$ gmake install-man
$ cd /usr/local/src/postgresql-v6.4/doc
$ make install
至此PostgreSQL的编译安装已经完成,下面开始初期设置。
1.4 初期设置
设置环境变量:
如使用的shell为bash, 则在.bashrc中添加以下命令:
PATH="$PATH":/usr/local/pgsql/bin
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export MANPATH="$MANPTH":$POSTGRES_HOME/man
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"
然后执行 source ~/.bashrc
如使用的shell为csh/tcsh则在.cshrc中添加以下命令:
setenv PATH="$PATH":/usr/local/pgsql/bin
setenv POSTGRES_HOME=/usr/local/pgsql
setenv PGLIB=$POSTGRES_HOME/lib
setenv PGDATA=$POSTGRES_HOME/data
setenv MANPATH="$MANPTH":$POSTGRES_HOME/man
setenv LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"
然后执行 source ~/.cshrc
以上环境变量是所有使用数据库的用户都需要设置的。
数据库目录的初始化:
$ initdb
可以使用的参数:
pgdata=/pgsql/db 指定数据库目录,默认使用环境变量PGDATA指定的位置
pgencoding=EUC_CN 指定数据库的字符编码,默认使用configure时指定的编码。
需要注意的是执行initdb的用户将拥有所建数据库目录的管理权。
使用以下命令启动PostgreSQL:
$ postmaster -S
运行测试程序:
$ cd test/regression
$ gmake all runtest
如测试程序能正常运行则说明PostgreSQL能正常运行。
为了让 PostgreSQL在系统启动时能自动启动,需作以下变更:
首先以root登录
$ su
Linux: 在/etc/rc.d/rc.local中追加以下内容:
POSTGRESDIR=/usr/local/pgsql
if [ -x $POSTGRESDIR/bin/postmaster -a
d $POSTGRESDIR/data ];then
rm -f /tmp/s.PGSQL.5432
su - postgres -c "postmaster -S -i"
echo -n 'postmaster'
fi
FreeBSD: 在/usr/local/etc/rc.d中建立名为
pgsql.sh的文件,内容为:
#! /bin/sh
POSTGRESDIR=/usr/local/pgsql
if [ -x $POSTGRESDIR/bin/postmaster
-a -d $POSTGRESDIR/data ];then
rm -f /tmp/s.PGSQL.5432
su - postgres -c "postmaster -S -i"
echo -n 'postmaster'
fi
修改pgsql.sh文件的权限:
# chmod 755 pgsql.sh
现在PostgreSQL的安装和设定基本已经完成了,但是目前为止能使用数据库的用户只有postgres。
为使其他用户可以使用数据库,需要登录数据库用户和生成用户数据。
如通过Web服务器Apache进行查询的用户,用户名为nobody:
% createuser nobody
Enter user's postgres ID or RETURN to use unix
user ID: 1000 ->1000
Is user "nobody" allowed to create dataase(y/n)n
Is user "nobody" allowed to add users?(y/n)n
createuser: nobody was successfully added
删除用户可以使用命令destroyuser 用户名
PostgreSQL可以同时管理多个数据库(但数据库之间不能进行join等操作)。新建数据库:
$ createdb 数据库名
新建的数据库将被放在/usr/local/pgsql/data/base的同名目录下(环境变量PGDATA指定路径的base目录下)。如省略数据库名参数,将自动以用户名作为数据库名。
例如 名为db1的数据库将被保存在/usr/local/pgsql/data/base/db1目录下。也可使用initlocation命令指定其他位置:
$ initlocation /pgsql/data
$ export PGDATA2=/pgsql/data
$ createdb -D PGDATA2 db2
则数据库db2将被保存在/pgsql/data目录下。另外PostgreSQL 6.4版可以在建立数据库时指定文字编码:createdb -E “字符编码” “字符编码” 参见configure、initdb。
删除数据库:destroydb 数据库名
PostgreSQL最基本的数据库管理工具是
pgsql. 基本使用方法:pgsql 数据库名
1.5 安全设置:
PostgreSQL提供了基于主机的认证方式host based authentication(HBA) 、基于口令的用户身份认证和用户操作权限设置等安全机制。
1.5.1 HBA方式和基于口令的用户身份认证方式
HBA方式的设置文件为pg_hba.conf。其格式为:
host DBNAME IP_ADDRESS ADDRESS_MASK USRAUTH [AUTH_ARGUMENT]
host: 固定标志,不能修改
DBNAME: 数据库名,all代表所有数据库
IP_ADDRESS,ADDRESS_MASK:指定IP地址,也可指定子网,如192.168.10.0/255.255.255.0
USERAUTH: 对用户的认证方式,包括ident(RFC1413) 、trust(不进行认证) 、reject (拒绝符合条件的访问)、password [passwd_file](根据flat file口令文件进行认证) 、 crypt(使用PostgreSQL的系统数据库pg_shadow进行认证)、kbr4/kbr5(Kerberos V4/V5认证) 。如在作为Web 数据库使用, 使用passwd口令文件进行本地登录时可如下设置:
Host all 127.0.0.1 255.255.255.255 password passwd
passwd文件默认位置为/usr/local/pgsql/data, 有数据库管理权限的用户可以使用
pg_passwd命令管理该文件(注意:flat file口令认证方式采用明文传送口令,故要从网络上其他主机登录,建议使用crypt认证方式)。
1.5.2 用户操作权限设置
使用SQL命令grant/revoke可以设置用户/用户组可否使用select/insert/update/rule命令。
根据SQL标准,一个数据表文件(table) 在刚建立时只有建立该表文件的用户有权访问。要分配给用户访问权限,可以使用grant命令:
grant on to
权限种类:all,select,insert,update,delete,rule
table名:被设置用户访问权限的表文件
用户/组:public(所有用户) 或用户名/组名
revoke命令作用与grant命令相反,用法如下:
revoke on from
table已设置的用户权限可以使用pgsql的\z 命令查看。
2. Apache+PHP3的安装及设置
2.1 源程序
Apache和PHP3的最新版本源程序可以从http://www.apache.org/和http://www.php.net/找到。
以下以Apache 1.3.6和PHP3 3.0.5 为例。
2.2 编译
假设Apache和PHP3的源程序都保存在/tmp目录下,首先登录为root:
$ su
# cd /usr/local/src
# tar -xzvf /tmp/apache_1.3.6.tar.gz
# ./configure
# cd /usr/local/src
# tar -xzvf /tmp/php3-3.0.5.tar.gz
# cd php-3.0.5
# ./configure --with-pgsql --with-apache=
../apache_1.3.6 --enable-track-vars
# make
# make install
最后一步将建立/usr/local/src/apache_1.3.6/src/modules/php3目录,并将以下文件
复制到该目录下:
Makefile.libdir libmodphp3.a mod_php3.c php_version.h
Makefile.tmpl libphp3.module mod_php3.h
编译和安装Apache:
设置环境变量LD_LIBRARY_PATH csh和tcsh shell使用以下命令:
# setenv LD_LIBRARY_PATH /usr/local/pgsql/lib
sh和bash使用如下命令:
# LD_LIBRARY_PATH=/usr/local/pgsql/lib
# export LD_LIBRARY_PATH
然后
# cd /usr/local/src/apache_1.3.6
# ./configure --activate-module=src/modules/php3/libphp3.a
# make
# make install
2.3 修改设置文件
# cd /usr/local/src/php-3.0.5
# cp php3.ini-dist /usr/local/lib/php3.ini
将/usr/local/apache/etc/srm.conf中以下两行内容前的#号删除,
如果以.php3作为PHP3文件的扩展名,则将.phtml 更改为 .php3:
#AddType application/x-httpd-php3 .php3
#AddType application/x-httpd-php3-source .phps
在srm.conf文件的DirectoryIndex下增加 index.php3:
DirectoryIndex index.html index.php3
2.4 启动Apache
# /usr/local/apache/sbin/apachectl start
apachectl start: httpd started
在本地机上启动网络浏览器,地址栏输入http://localhost/(或在其他计算机上的浏览器地址栏输入Apache服务器地址),如能显示出Apache的开始画面则说明Apache已经安装成功。下面测试PHP3模块工作是否正常:
# cd /usr/local/apache/share/htdocs/
# ln -s /usr/local/src/php-3.0.5 .
然后在浏览器的地址栏输入
http://localhost/php-3.0.5/examples/date.php3
观察php3文件的运行结果是否正常。如日期函数能显示正确结果,则说明PHP3模块工作正常。
至此,基于Apache Web服务器和服务器端脚本语言PHP3的PostgreSQL数据库系统的安装已经完成 :-)

另一个伊甸超越时空的猫60章攻略是什么呢?第60章算是很不错的一关了,很多人都在问这一关到底该如何通关?现在小编为您奉上另一个伊甸60章的攻略与分享,一起来看看吧!另一个伊甸超越时空的猫60章攻略1、从地图正右方到达区域2。2、在区域2地图右下方触发剧情。3、返回区域1,在地图中央偏左处触发剧情。4、从地图左边的路口,到达地图“沉淀之地”。该图来源:taptap:让人微笑的光景【再生村落安格尔】隐藏要素:①完成山之国支线《从远方来的人们》后,可在左上C处和魔兽阿姨对话得到EGPD徽章,再去埃尔吉

中式剧情解谜游戏《纸嫁衣》系列推出了它的第六部作品无间梦境千秋魇篇,很多玩家已经开始体验该游戏,速度快的已经通关全章节了!不过还有不少玩家卡关了!在第5章中大家也遇到不少问题,在纸嫁衣6攻略第五章(中)怎么过关呢?接下来小编给大家分享带来的是taptap乔森的《纸嫁衣6》第五章攻略全文图解(中),一起来看看吧!《纸嫁衣6》第五章攻略全文图解(中)切换肖视角根据大楼前的迷宫配合奚视角,让奚捡东西,奚获得罗汉像,到达地动仪和铜鼎,将木块放到拼图上,做拼图游戏,做完获得鹦鹉木雕和古币将罗汉像传送至肖处

抖音上最近很火的休闲闯关解谜游戏是《想不到鸭》。要开始游戏,只需进入抖音APP,然后在右上角搜索中找到该游戏并点击玩一玩,即可体验各个关卡。游戏中有许多关卡,其中之一是游学合影关卡,需要帮助小砂糖橘完成合影。今天,本站网小编为大家带来了《想不到鸭》游学合影通关攻略分享,详细步骤请参考下方图文分享。不要臭钱大嫂买房过去与未来破屋老人天桥老人遗憾往事毕业合照怀旧入冬过节聚餐强哥暴富我要当皇上丑女逆袭回家看看看望姥姥奶奶过河女主对话看望爷爷医学奇迹无声的爱不同儿媳舞蹈穿搭宝贝晚安一路狂飙爱豆演唱会悬崖

另一个伊甸超越时空的猫62章攻略是什么呢?第62章是暴风加尔法弦,一艘被遗弃的囚舰悲剧,许多人都不知道这一关到底该如何通关?今日,小编为您奉上具体的攻略与分享,欲知详情请速看!另一个伊甸超越时空的猫62章攻略62章-风暴之加尔法弦,废弃监狱船的惨剧】路线:空中城郭伊斯亚→监狱船空中城郭伊斯亚1、在主城地图右上方乘坐电梯到达“机场”。2、在左方乘坐飞船到达“监狱船加尔法弦”。监狱船加尔法弦1、从地图左方入口进入“监狱船加尔法弦A栋”。监狱船加尔法弦A栋1、在地图中央触碰开关,击败召唤来的机器人,打

想不到鸭小游戏是抖音上最近很火的休闲闯关解谜游戏,进入抖音APP,然后在右上角搜索中找到该游戏即可点击玩一玩进入游戏体验各个关卡!游戏中分为多个板块,其中想不到鸭主编推荐板块关卡之一逃离博物馆怎么过关呢?今天本站网小编给大家带来了《想不到鸭》逃离博物馆通关攻略分享,不清楚该关卡具体如何过关的小伙伴速来看看下方图文分享吧!《想不到鸭》逃离博物馆通关攻略逃离博物馆目标:夺回属于自己的东西1、逃离博物馆夺回属于自己的东西这一关我们需要在房间里找出我们国家的珍宝,首先可以点击点击衣柜上面的画。2、然后点

另一个伊甸超越时空的猫59章攻略是什么呢?在游戏中别让权十郎跑了是第59章的主题,许多玩家都希望了解这一关如何通关?现在,小编就为您提供第五十九章的攻略,感兴趣的玩家可以来看一看!另一个伊甸超越时空的猫59章攻略1、从地图正右方到达区域2。2、在区域2地图右下方触发剧情。3、返回区域1,在地图中央偏左处触发剧情。4、从地图左边的路口,到达地图“沉淀之地”。该图来源:taptap:让人微笑的光景【再生村落安格尔】隐藏要素:①完成山之国支线《从远方来的人们》后,可在左上C处和魔兽阿姨对话得到EGPD

白荆回廊是一款拥有全配音优秀玩法的即时策略二次元战棋游戏。游戏中有多种多样的阵容搭配玩法流派,其中火雷队备受玩家喜爱。玩家们对于火雷队的烙痕搭配也十分好奇。本期将为大家带来火雷队烙痕搭配攻略,帮助玩家更好地进行配置。白荆回廊火雷队烙痕搭配攻略【残照】激励技能“弱点标记”,【化为千鹤】激励技能“烈焰暴击”,【天陷】激励技能“炽热生命”,火雷优先借个【夕阳挽歌】激励技能“力量喷涌”或者借【暗巷漆影】激励技能“人多势众”,莫红袖搭配【代号百草】激励技能“屏障.炎”,龙晴要配【噩梦】激励技能“屏障.水”

保卫萝卜4的每日周赛关卡提供了各种不同的挑战,玩家需要仔细思考通关策略。下面是这次关卡的通关思路。2024保卫萝卜4周赛1月11日攻略1、首先在图下右下角位置建造一个多重箭炮台和一个回旋镖,清除附近障碍。2、待障碍清除后,在屏幕上空余位置继续建造火瓶和回旋镖炮台。3、升级道具后,会出现太上老君我们集火攻击。4、保持图下阵容,集中攻击香炉,轻松完成今日周赛关卡。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

SublimeText3 Linux新版
SublimeText3 Linux最新版

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Atom编辑器mac版下载
最流行的的开源编辑器

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),