FreeBSD 5.3 + PostgreSQL 8.0安装经验

一、升级ports
首先升级ports树,保证最新的 。5.3的ISO中Postgresql的版本还只到7.4.6,升级后发现增加了postgresql80-server,但安装仍然要在postgresql-devel中进行 。
代码:
#cd /usr/share/examples/cvsup
#cvsup -L 2 -g ports-supfile


二、调整内核参数
如果这步不做的话,到后面初始数据库时就会出错 。原因是FB默认的共享内存和信号灯和Postgresql 8.0要求的不一样 。
代码:
#cd /usr/src/sys/i386/conf
#cp GENERIC pgsql
#cat >> pgsql
options SYSVSHM
options SHMMAXPGS=4096 //**共享内存的最大尺寸是由选项SHMMAXPGS(以页计)
options SHMSEG=256 //**每进程最大共享内存段数量

options SYSVSEM
options SEMMNI=256 //**信号灯标识符的最小数量(也就是说,套)
options SEMMNS=512 //**系统范围的最大信号灯数量
options SEMMNU=256
options SEMMAP=256 //**这两个参数与 "semaphore undo(信号灯恢复)"有关(具体意思也没明白)
^D (按下ctl D)

#config pgsql
Kernel build Directory is ../compile/ORACLE
Don"t forget to do a ``make depend""

#cd ../compile/pgsql
#make depend
#make
#make install
#reboot


三、安装postgresql 8.0

安装
代码:
#cd /usr/ports/databades/postgresql-devel
#make install
#rehash


初始化数据库
代码:
#su -l pgsql -c initdb


启动数据库服务器
代码:
# su pgsql
# pg_ctl -D /usr/local/pgsql/data -l logfile


创建pgsql库
代码:
$createdb pgsql


测试
代码:
$psql
pgsql-# l //**显示所有数据库列表,和mysql的show databases功能等同;

默认连接pgsql库,如果前面不创建,这一步就会报错 。这点好像和mysql有点区别 。

四、初学经验分享
在pgsql-#的提示下,分两种命令格式,以""引导开头的是postgresql的管理命令,再一种就是SQL语句 。
? 显示第一种类型的帮助说明 。
h 显示SQL语言的语句列表
h show 显示某条语句的说明和语法

l 列所有数据库
dt 显示当前数据库中表的信息,与mysql 中show table等同
c 连接另外一库
du 显示用户列表
! 回到shell下执行操作,exit返回
q 退出psql


由于本人也是刚接触postgresql,冒昧将经历写出与大家共享,不当之处还望各位多多指点 。
【FreeBSD 5.3 PostgreSQL 8.0安装经验】参照文档:
Installing PostgreSQL
http://www.bsdguides.org/guides/freebsd/databases/install_postgresql.php

PostgRSSQL 当前 cvs 文档:
http://www.pgsqldb.org/

    推荐阅读