[原创]FreeBSD 5.3 + PostgreSQL 8.0安装经验

发表于:2007-06-09来源:作者:点击数: 标签:
一、升级ports 首先升级ports树,保证最新的。5.3的ISO中Postgresql的版本还只到7.4.6,升级后发现增加了postgresql80-server,但安装仍然要在postgresql-devel中进行。 [code:1:ecb7244da1] #cd/usr/share/examples/cvsup #cvsup-L2-gports-supfile [/code:1

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

二、调整内核参数
    如果这步不做的话,到后面初始数据库时就会出错。原因是FB默认的共享内存和信号灯和Postgresql 8.0要求的不一样。
[code:1:ecb7244da1]
#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
[/code:1:ecb7244da1]

三、安装postgresql 8.0

[b:ecb7244da1]安装[/b:ecb7244da1]
[code:1:ecb7244da1]
#cd /usr/ports/databades/postgresql-devel
#make install 
#rehash
[/code:1:ecb7244da1]

[b:ecb7244da1]初始化数据库[/b:ecb7244da1]
[code:1:ecb7244da1]
#su -l pgsql -c initdb
[/code:1:ecb7244da1]

[b:ecb7244da1]启动数据库服务器[/b:ecb7244da1]
[code:1:ecb7244da1]
# su pgsql
# pg_ctl -D /usr/local/pgsql/data -l logfile
[/code:1:ecb7244da1]

[b:ecb7244da1]创建pgsql库[/b:ecb7244da1]
[code:1:ecb7244da1]
$createdb pgsql
[/code:1:ecb7244da1]

[b:ecb7244da1]测试[/b:ecb7244da1]
[code:1:ecb7244da1]
$psql
pgsql-#  \l  //**显示所有数据库列表,和mysql的show databases功能等同;
[/code:1:ecb7244da1]
默认连接pgsql库,如果前面不创建,这一步就会报错。这点好像和mysql有点区别。

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

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


由于本人也是刚接触postgresql,冒昧将经历写出与大家共享,不当之处还望各位多多指点。

 dingjeff 回复于:2005-01-05 19:35:47
参照文档:
Installing PostgreSQL
http://www.bsdguides.org/guides/freebsd/databases/install_postgresql.php

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

 kinux 回复于:2005-01-05 19:53:10
谢谢.. 
之前安裝过, 但用的不多, 因为不懂怎用 :roll:

 dingjeff 回复于:2005-01-05 20:44:37
修改部分配置,以方便PgAdmin III 连接

1、postgresql.conf
在Connection Settings部分

[code:1:a41fb03de5]#listen_address = "localhost"
[/code:1:a41fb03de5],去除#号,并改为
[code:1:a41fb03de5]
listen_address = "*"  //**接受所有的IP连接
[/code:1:a41fb03de5]
去除#unix_socket_*语句的#号

2、pg_hba.conf
在IPv4  local connections部分添加一条语句
[code:1:a41fb03de5]
host         all           all        192.168.0.0/24   password      password
[/code:1:a41fb03de5]

原文转自:http://www.ltesting.net