FREEBSD安装问题,“无法创建帐套“
-
我VPS的系统是FREEBSD的。
首先,我是在python2.6下运行,不过,我在ubuntu下基于python 2.6也能正常运行,当然要装修改版的xml库。
登录的数据库帐号是超级用户,应该不存在权限的问题。
出现“无法创建帐套”的提示后,去数据库查,不存在新建的 "Database", 除此之外,在服务端没有任何错误提示。只有[code][2010-02-24 10:19:29,313] INFO:dbpool:Connecting to template1
[2010-02-24 10:19:29,320] INFO:dbpool:Closing all connections to template1[/code]还有个警告是:[code]/usr/local/lib/python2.6/site-packages/openerp-server/tools/misc.py:741: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
if hasattr(e, 'message'):
/usr/local/lib/python2.6/site-packages/openerp-server/tools/misc.py:742: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
return ustr(e.message)[/code]不过这个警告很正常,我在ubuntu下也有。这里估计一个是数据库的问题,再就是运行到哪出问题了,我就不太明白了,请各位大大请教!!再有:那个openerp-server我是从ubuntu那拷过去的,应该不存在问题。文件的权限我也改了。
在/var/log/openerp-server.log里,可用的只有[code][2010-02-24 08:15:16,908] INFO:dbpool:Connecting to template1
[2010-02-24 08:15:16,916] INFO:dbpool:Closing all connections to template1[/code]
把log级别改成“debug_rpc"后得到[2010-02-24 10:33:02,541] DEBUG:sql:bad query: CREATE DATABASE "next" ENCODING 'unicode'
数据库方面好像默认的encode是“ASCII”。不过,我的VPS的postgresql服务是"shared database"。
[[i] 本帖最后由 speme 于 2010-2-24 18:37 编辑 [/i]]
-
无法创建账套的原因一般来说是由于postgresql数据库的访问权限的关系。
Linux下安装的postgresql数据库默认本地访问的方法是sameuser-ident, 就是说[b]不指定用户名[/b]访问数据库的情况下默认使用当前系统用户名登录,但是要登录成功,就必须在数据库中设有与Linux系统用户名相同的角色名(postgresql数据库的用户称为"角色“)
比如你用的是超级用户root,那么postgresql中也要有root这个角色。(用root来操作openerp,和postgresql数据库是一个非常不安全的做法,比较安全的做法是启动openerp用一个一般用户,访问postgresql数据库用另外一个用户)
创建一个访问数据库的角色的方法如下,假设你要以tom来访问postgresql数据库
$ sudo su postgres -c createuser tom
上面的命令的意思是切换到postgresql的默认超级数据库用户postgres并创建角色tom,接下来你需要回答一些问题,不要给tom超级数据库用户的权限
创建好tom这个数据库角色后就可以设置openerp通过它来访问postgresql数据库,具体的做法如下:
openerp-server.py -r tom -w PASS4TOM -s
替换PASS4TOM为tom的访问密码
-
不好意思,没仔细看你的帖子。上面的回复就不删除了,给其他新人参考。
你是用超级数据库角色访问的数据库是吗?
那么在shell里用
createdb -Uusername --encoding=utf-8 DBNAME
手动创建数据库,如何?