尝试从用户界面创建数据库时,显示:
Server Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/session.py", line 89, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/opt/openerp/server/openerp/netsvc.py", line 296, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/opt/openerp/server/openerp/service/web_services.py", line 122, in dispatch
return fn(*params)
File "/opt/openerp/server/openerp/service/web_services.py", line 168, in exp_create_database
_initialize_db(self, id, db_name, demo, lang, user_password)
File "/opt/openerp/server/openerp/service/web_services.py", line 98, in _initialize_db
cr.close()
File "/opt/openerp/server/openerp/sql_db.py", line 160, in wrapper
raise psycopg2.OperationalError(msg) OperationalError: Unable to use a closed cursor.
SQL连接已关闭,但我不知道原因。
进一步研究后,我发现为了能够从用户界面创建数据库,您应该执行以下配置:
在openerp-server.conf
中,您应该使用db_password
:openerp
用户角色的密码。它的角色使openerp
用户能够从用户界面创建数据库。如果两个密码不匹配,您将无法从用户界面创建数据库。
就我而言,我发现我的openerp-server.conf
包含:
db_password : False,
我将其更改为openerp
用户(createdb
)的角色密码,我重新启动了服务器但没有任何改变。尝试从用户界面创建数据库时,会发生同样的错误。
我尝试通过使用openerp
用户从shell访问postgres来从psql创建数据库。我试过了:
createdb db_name
数据库已创建,但我无法登录。在执行createdb
时,我不知道如何将数据库创建归因于管理员帐户。这个潜在解决方案的功能方面是能够从用户界面执行与postgres相同的数据库创建过程。
任何人都可以帮我解决这两个潜在的解决方案吗?我真的很挣扎。