LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2094|回复: 5

如何在opensolaris 200811上配置postgresql8.3

[复制链接]
发表于 2009-2-26 11:41:53 | 显示全部楼层 |阅读模式
首先,你需要安装postgresql 8.3,可以使用软件包管理器搜索postgresql,然后把标着8.3版本的包都装上,或者使用ROOT用户执行:pkg install SUNWpostgr-83-server && pkg install SUNWpostgr-83-client也可以。

安装很快就会完成,这时系统中会建立一个postgres的用户,然后编辑/etc/passwd文件,因为是我自己的开发环境,所以我把里面的postgres用户的属性修改如下:
postgres:x:90:90ostgreSQL Reserved UID:/export/home/postgres:/bin/bash
当然,还要建立/export/home/postgres目录并且把权限和属主分配给postgres用户。

这样,就可以开始配置postgresql 8.3了。

首先,使用root用户执行下面的命令,导入postgresql 8.3脚本:
# svccfg import /var/svc/manifest/application/database/postgresql_83.xml
然后看一下是否成功:
# svcs postgresql_83
STATE          STIME    FMRI
disabled       14:22:49 svc:/application/database/postgresql_83:default_64bit
disabled       14:22:49 svc:/application/database/postgresql_83:default_32bit

这样就代表导入成功了。

然后,进入postgres用户,修改它的~/.profile文件如下(就是把pg的Path加进去)
export PATH=/usr/postgres/8.3/bin/64{PATH}
export MANPATH=/usr/postgres/8.3/man{MANPATH}
export PGDATA=/var/postgres/data

然后使用postgres用户执行:
$ initdb
这样就初始化了数据库(类似于Linux下MySQL的初始化)

使用root用户启动数据库(如果你机器是64位,那就换成64):
# svcadm enable postgresql_83:default_32bit
启动后,你需要为postgresql3.8创建默认的脚本语言,使用postgres用户执行:
$ createlang -U postgres plpgsql template1
这样就可以使用postgresql 8.3了,默认用户名就是postgres,密码为空。


如果你想修改postgresql8.3的数据库文件的存储位置,可以在做了备份,停止数据库后,通过下面的命令执行:
# svccfg -v -s postgresql_83:default_32bit setprop postgresql_83/data="/var/postgres/data"
# svcadm refresh postgresql_83:default_32bit
# svcprop postgresql_83:default_32bit|grep data
postgresql_83/data astring /var/postgres/data

不过,开发环境应该就不需要改变了。
发表于 2009-3-11 22:18:51 | 显示全部楼层
谢谢分享,很好的起步文档。
现在用mysql的人多,postgre sql的人少,可否说说看用pg的好处啊?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-12 00:24:36 | 显示全部楼层
怎么说呢,看需求吧。做单点用mysql足够了,如果对于事务和数据中心的功能要求多一些,就pg吧。
回复 支持 反对

使用道具 举报

发表于 2009-3-12 23:41:44 | 显示全部楼层
谢谢楼主的回复。
以前看手册说pg运行一段时间后就要对数据库进行整理,否则数据库就会出错。不知现在是什么情况呢?pg维护起来是不是要求会高点?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-13 17:03:10 | 显示全部楼层
about the maintains,

when you need to cleanup the database, it's not a hard work, we always use crontab.

I believe that if you just need a website, mysql is enough.
if you need more transactional business, try postgresql.

we use the both. all work well.
回复 支持 反对

使用道具 举报

发表于 2009-3-15 10:36:06 | 显示全部楼层
cewl, many thx. I think i should pick the postgre sql handbook up again.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表