2009年2月2日星期一

ubuntu 的 postgreSQL

ubuntu上其实有PostgreSQL的安装包,sudo apt-get install,就可以直接使用,但是刚开始的时候这个包也给我弄出不少麻烦。以至于有很长一段时间我宁可使用源码自己编译。总结一下,比较容易给新手造成麻烦的地方有这样几个:

ubuntu上PostgreSQL的超级用户是postgres,与官方文档一致。而bsd上是psql。

ubuntu上的pg命令行工具名为psql,bsd上是pgsql。

pg_ctl找不到?但是ubuntu上有一个pg_ctlcluster,它可以帮你完成pg_ctl的工作,只是需要一点题外的东西:
ubuntu 将PostgreSQL的服务器按集群管理(我是不太想在一台硬件主机上架一个“集群”那么多个PostgreSQL实例,那跑起来能快吗?做开发和学习测试还差不多)。因此执行pg_lsclusters,你会看到一个集群列表。默认是只有一个。用pg_cltcluster管理服务器的时候,你要比pg_ctl多指定一个版本号,一个集群名,就是从这里来的,不知道该指定谁的时候,可以查看pg_lsclusters。

在apt安装以后,pg实例就自动运行起来了,如果想要手工控制,同样使用pg_ctlcluster。如果想参考一下apt的pg启动配置,推荐看一下/etc/init.d/postgresql-8.3(或者你自己安装的那个版本)脚本。

默认的数据区不在postgres文档所推荐的/usr/local/pgsql/data,而在/var/lib/postgresql/8.3/main/。而配置文件在/etc/postgresql/8.3/main,到时候不要找不到pg_hba.conf哦:)。

contrib目录在/usr/share/postgresql/8.3/contrib/,安装插件什么的一定会用到。

安装bamboo的时候,我有很久找不到pg_conf跑哪里去了,这也是我早先使用pg源码的一个非常非常重要的原因。其实这个命令在postgresql-server-dev-8.3里。万恶吧!我google了好久才找到……

没有评论: