我在windows环境下成功安装了openerp/postgresql。后来我创建了“mydb”数据库。然后我尝试安装应用程序。系统抛出以下错误消息。
psycopg2.OperationalError - mydb 不存在 - fatal error 。
我在 postgresql 服务器中验证了新创建的数据库 - mydb。有人可以帮助我为什么系统弹出错误消息,即使 daabase 已创建并可用?
完整的错误信息
{"message": "OpenERP Server Error", "code": 200, "data": {"debug": "Traceback (most recent call last):\n File \"/home/odoo/src/web/saas-1/addons/web/http.py\", line 304, in dispatch\n r = method(self, **self.params)\n File \"/home/odoo/src/addons/saas-1/auth_oauth/controllers/main.py\", line 33, in wrapper\n return func(self, req, **kw)\n File \"/home/odoo/src/custom/private/loempia/controllers/embed.py\", line 65, in signin\n File \"/home/odoo/src/server/saas-1/openerp/modules/registry.py\", line 206, in get\n update_module)\n File \"/home/odoo/src/server/saas-1/openerp/modules/registry.py\", line 222, in new\n registry = Registry(db_name)\n File \"/home/odoo/src/server/saas-1/openerp/modules/registry.py\", line 78, in __init__\n cr = self.db.cursor()\n File \"/home/odoo/src/server/saas-1/openerp/sql_db.py\", line 479, in cursor\n return Cursor(self._pool, self.dbname, serialized=serialized)\n File \"/home/odoo/src/server/saas-1/openerp/sql_db.py\", line 177, in __init__\n self._cnx = pool.borrow(dsn(dbname))\n File \"/home/odoo/src/server/saas-1/openerp/sql_db.py\", line 372, in _locked\n return fun(self, *args, **kwargs)\n File \"/home/odoo/src/server/saas-1/openerp/sql_db.py\", line 435, in borrow\n result = psycopg2.connect(dsn=dsn, connection_factory=PsycoConnection)\n File \"/usr/local/lib/python2.7/dist-packages/psycopg2/__init__.py\", line 164, in connect\n conn = _connect(dsn, connection_factory=connection_factory, async=async)\nOperationalError: FATAL: database \"mydb\" does not exist\n\n", "message": "FATAL: database \"mydb\" does not exist\n", "name": "psycopg2.OperationalError", "arguments": ["FATAL: database \"mydb\" does not exist\n"]}}
select * from pg_database(第4条记录mydb是我创建的数据库)
"template1";6;"English_United States.1252";t;t;-1;1663;"{=c/openpg,openpg=CTc/openpg}";"English_United States.1252";10
"template0";6;"English_United States.1252";t;f;-1;1663;"{=c/openpg,openpg=CTc/openpg}";"English_United States.1252";10
"postgres";6;"English_United States.1252";f;t;-1;1663;"";"English_United States.1252";10
"mydb";6;"English_United States.1252";f;t;-1;1663;"";"English_United States.1252";10
最佳答案
这里只有几种可能性:
您使用 OpenERP 连接到的服务器与使用 psql 时不同。数据库仅存在于您使用 psql 连接的服务器上。您可能有多个本地 PostgreSQL 安装 - 特别是如果您使用的是 Mac。比较连接上的
SHOW data_directory;
输出。您编辑了
pg_database
的输出,而您的数据库实际上并不是mydb
,在这种情况下,问题可能是拼写错误,但更有可能与案例折叠。搜索“PostgreSQL 大小写折叠”以了解更多信息。您在某处发现了一个非常奇怪的错误。不太可能。
关于postgresql - psycopg2.OperationalError 与 openerp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21037086/