[原创] FreeBSD下安装PostgreSQL新手教程
发表于:2007-06-09来源:作者:点击数:
标签:
[b:03f3ae41b2]FreeBSD下安装PostgreSQL新手教程[/b:03f3ae41b2] 作者:heiyeluren QQ群:5415735(FreeBSD安装维护群) 日期:2004/9/17 --特别感谢QQ群好友阿南,本文在他的耐心指导下才产生-- 原文地址:http://blog.csdn.net/heiyeshuwu/archive/2004/09/17/107
[b:03f3ae41b2]FreeBSD下安装PostgreSQL新手教程[/b:03f3ae41b2]
作者: heiyeluren
QQ群: 5415735 (FreeBSD安装维护群)
日期: 2004/9/17
-- 特别感谢QQ群好友阿南,本文在他的耐心指导下才产生 --
原文地址: http://blog.csdn.net/heiyeshuwu/archive/2004/09/17/107969.aspx
PostgreSQL是一个
开源的数据库管理系统,PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS), 也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统。它的很多特性正是当今许多商业数据库的前身,有些特性甚至连商业数据库都不具备。 相对
MySQL来讲,PostgreSQL是个非常彻底的有众多黑客所
开发的开源程序,目前它是RedHat等
Linux操作系统上的标配。 :-)
今天我们就来说说PostgreSQL在FreeBSD平台上的安装过程,没有什么复杂的,只是我这两天安装过程的一个总结,希望能够安装的新手一个提示。( 我们使用的FreeBSD系统是5.2.1版,其他安装平台应该类似,我们以下安装PostgreSQL全部手工,你也可以使用ports)
首先去PostgreSQL的官方FTP
服务器上把安装程序下载回来,我使用的版本是 7.4.5 ,大小是11.9MB。(毕竟是源代码,不是很大,呵呵)
下载地址: ftp://ftp.postgresql.org/pub/v7.4.5/postgresql-7.4.5.tar.gz
下载回来以后,我们放到 /usr/src 目录下,首先把程序解压:
# tar zxvf postgresql-7.4.5.tar.gz
解压后生成postgresql-7.4.5目录,进入目录:
# cd postgresql-7.4.5
配置程序和安装目录:
# ./configure --prefix=/usr/local/pgsql
我们的安装程序需要使用gmake而不是使用make,所以我们要检查我们的系统有没有gmake:
# gamke
gmake: Command not found.
看来我们的系统没有安装gmake,所以我们要先安装gmake,我们就采用FreeBSD的专长ports来安装,:(如果你的系统安装了gmake就继续安装PostgreSQl)
# whereis gmake # 先找找我们的gmake的ports在哪里
gmake: /usr/ports/devel/gmake # 哦,在这里呀,呵呵
# cd /usr/ports/devel/gmake
# make install # 呵呵,我们开始ports了。。。
一般等十几分钟就行了,我等了十二分钟,根据网速等的不同。
安装好gamke,我们就能够在/usr/local/bin里面找到它:
# ls -l /usr/local/bin/gamke
-r-xr-xr-x 1 root wheel 144196 Sep 17 11:59 /usr/local/bin/gmake
然后我们就能够使用gmake继续来安装我们的PostgreSQL了,当然,你也能够先把gmake安装好然后再进行PostgreSQl的安装,我们继续:
# cd /usr/src/postgresql-7.4.5 # 进入PostgreSQL的安装目录
# /usr/local/bin/gmake # 执行gmake来编译
# /usr/local/bin/gmake install # 进行安装,程序将安装到/usr/local/pgsql目录下
如果上面操作出错的话,请按照安装步骤检查你是否操作正确。
因为运行PostgreSQL为了
安全考虑不能使用root用户,所以我们要建立一个用户来专门运行PostgreSQL:
# pw user add postgres # 添加一个名为postgres的用户
# mkdir /usr/local/pgsql/data # 新建一个用来存放数据库的文件夹
为了让postgres能够完全控制data目录,我们设置权限:
# chown postgres /usr/local/pgsql/data
设置权限后,我们就切换到 postgres用户:
# su postgres
再初始话数据库:
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
呵呵,如果到这里没有错的话,我们的PostgreSQL基本上就安装好了,我们就启动PostgreSQL:
$ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data & # 启动PostgreSQL
$ LOG: could not create socket for statistics collector: Protocol not supported
LOG: database system
was shut down at 2004-09-17 14:20:52 CST
LOG: checkpoint record is at 0/9B6E1C
LOG: redo record is at 0/9B6E1C; undo record is at 0/0; shutdown TRUE
LOG: next transaction ID: 541; next OID: 17143
LOG: database system is ready
这时候程序就停在这里了,因为程序已经启动了,不能结束当前的程序,否则数据库会终止运行,这时候我们再另开一个终端以postgres用户登陆后查看进程:
$ top
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
891 postgres 96 0 13508K 2708K select 0:00 0.00% 0.00% postgres
如果看到上面类似的进程,那么我们的PostgreSQL就启动成功,能够使用了。
最后再建立一个数据库:
$ /usr/local/pgsql/bin/createdb test # 建立一个数据库test
CREATE DATABASE
创建数据库成功后,就能够通过PostgreSQL的客户端连接过去:
$ /usr/local/pgsql/bin/psql test
Welcome to psql 7.4.5, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help on internal slash commands
\g or terminate with semicolon to execute query
\q to quit
test=#
最后的,test=#是终端提示符,那么你就能够这里管理PostgreSQL和执行SQL语句,具体请参考PostgreSQL手册。
参考资料:
PostgreSQL中文手册 http://www.pgsqldb.org/pgsqldoc-7.4/index.html
PostgreSQl中文网站 http://www.pgsqldb.org
WriteTime: 2004-9-17 下午
heiyeluren 回复于:2004-09-17 19:17:47
|
我有个问题还没有解决,就是如何让PostgreSQL系统启动的时候自启动...
我把它有的脚本 freebsd放到/usr/local/etc/rc.d下面没用,我在/etc/rc.local下面加启动命令也不行,所以请高手指点!
|
dryice 回复于:2004-09-17 22:19:46
|
为什么不用port?
|
heiyeluren 回复于:2004-09-18 10:46:29
|
呵呵,问的好....
用过ports,但是手工会更有趣味,呵呵
|
dryice 回复于:2004-09-18 19:38:05
|
晕倒 :)
你的问题看
/usr/ports/databases/postgresql7/files/*
/usr/ports/databases/postgresql7/Makefile
/usr/ports/databases/postgresql7/pkg-install
好了。
|
ecloud 回复于:2004-09-18 20:40:29
|
很无聊
明明ports很容易的,有人非要自作聪明
别以为你编译的很好,有不少FBSD的patch你都没打,说不定哪天会出现某种“未知错误”
|
dingjeff 回复于:2004-09-20 13:29:42
|
ports安装简简单单的,装完了系统完整干净,
编译源码太浪费精力和时间了.
我以前也是用源码来安装,到后面相御载就傻了.
|
平凡的香草 回复于:2004-09-20 14:39:03
|
用4.1-stable,ports安装,一路都顺风^^^
向楼主这种精益求精的精神学习^^^^^
|
teo 回复于:2004-11-25 13:28:40
|
我是初学postgresql,我在FreeBSD5.3下用ports安装,很方便的,真的免去很多麻烦,这样又方便又好用又耐用又实用又适用,要是下载包安装,出了问题有点麻烦的,尤其我们不太懂C的
|
夜猫子 回复于:2004-11-25 22:30:26
|
顶一个,你们也不要太打击楼主了,虽然我平时也全部用ports,不过愿意的话,适当学习一下手工编译也没有错的。
|
hothost 回复于:2004-11-26 00:32:26
|
[code:1:0b49ae9e62]if [ -x /usr/local/pgsql/bin/pg_ctl -a -x /usr/local/pgsql/bin/postmaster ]; then
su - postgres -c '/usr/local/pgsql/bin/pg_ctl start -l /var/pgsql/log -s'
echo -n ' postgresql'
fi[/code:1:0b49ae9e62]
上面是我/etc/rc.local文件的自启动脚本,你把其中的日志路径“/var/pgsql/”改为你系统中的“/usr/local/pgsql/”即可。继续努力吧,Postgresql真的是个不错的东东,俺喜欢……^O^……
|
yu10101 回复于:2005-05-22 19:45:11
|
觉得用源码安装挺好的,用ports装完之后不知道装到哪儿去了。很菜鸟的说。
-------------
向往飞翔的菜鸟。
|
ataman 回复于:2005-05-22 21:34:17
|
ports都是老版本的,只怕bug更多。
自已安装也没什么了不起,不过就是配置一下嘛。谁还真得去研究代码啊。我是拿来用的,不是拿来学的。
如果ports永远是最新的,那当然好了。
|
原文转自:http://www.ltesting.net