一、升级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 <database name> 连接另外一库
\du 显示用户列表
\! 回到shell下执行操作,exit返回
\q 退出psql
由于本人也是刚接触postgresql,冒昧将经历写出与大家共享,不当之处还望各位多多指点。
参照文档:
Installing PostgreSQL
http://www.bsdguides.org/guides/freebsd/databases/install_postgresql.php
PostgrsSQL 当前 cvs 文档: