postgresql - psycopg2.OperationalError 与 openerp

标签 postgresql odoo

我在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/

相关文章:

R语言无法使用postgresqlWriteTable在postgresql中插入

sql - 获取所有引用(通过外键)表中特定行的行

python - OpenERP6.1中最初存储one2many表的值在哪里

python - 如何将列表中的数据放入many2many

odoo - 空 TreeView

postgresql - 如何两次引用外键表?

sql - 如何通过 SQL 表进行访问控制?

excel - 如何在 ODOO 上生成 excel(xls、xlsx)格式的报告?

sql - 选择满足两个条件的ID

python - Odoo 10 - 创建销售订单或发票时的电子邮件通知