文章目录
一、错误
1.1 odoo12 恢复备份的数据库报错
Database restore error: Postgres subprocess ('/usr/lib/postgresql/10/bin/pg_restore', '--dbname=m1202_v13', '--no-owner', '/tmp/tmp6nwc28q0') error 1
1.2 删除错误数据库
删除恢复错误的数据库,删除不成功,打不开数据库列表页面。
二、排查错误过程
2.1 恢复数据库报错问题
2.1.1 postgresql 和 pg_dump 版本是否一致
如下是本地的 postgresql 版本信息:
结果发现本地的两个版本一致。
备份数据的服务器上的 postgresql 版本如下:
备份的服务器上的版本不一致。
不一样,需要重新建立了软连接,如下:
sudo ln -s /usr/pgsql-10/bin/pg_dump /usr/bin/pg_dump --force
删除软连接命令:(特别注意:这里删除软连接,原先的pg_dump的软连接也没有了,谨慎操作)
sudo rm -rf /usr/bin/pg_dump
2.1.2 查看源码
原因:解压备份好的zip文件时,如果解压失败,会报这个错误。是因为压缩包是损坏的,手动解压错误如下。
2.2 删除数据库报错
报错如下:
2021-12-02 08:40:16,400 27610 INFO m1202_v13 werkzeug: 127.0.0.1 - - [02/Dec/2021 08:40:16] "POST /web/database/restore HTTP/1.1" 400 - 0 0.000 3.956
2021-12-02 08:40:21,910 27610 DEBUG m1202_v13 odoo.modules.registry: Multiprocess signaling check: [Registry - 1 -> 1] [Cache - 1 -> 1]
2021-12-02 08:40:21,911 27610 INFO m1202_v13 werkzeug: 127.0.0.1 - - [02/Dec/2021 08:40:21] "GET /web/database/manager HTTP/1.1" 500 - 1 0.000 0.003
2021-12-02 08:40:21,914 27610 ERROR m1202_v13 werkzeug: Error on request:
Traceback (most recent call last):
File "/home/odoo/.local/lib/python3.6/site-packages/werkzeug/serving.py", line 306, in run_wsgi
execute(self.server.app)
File "/home/odoo/.local/lib/python3.6/site-packages/werkzeug/serving.py", line 294, in execute
application_iter = app(environ, start_response)
File "/home/odoo/odoo-dev/odoo13/odoo/odoo/service/server.py", line 439, in app
return self.app(e, s)
File "/home/odoo/odoo-dev/odoo13/odoo/odoo/service/wsgi_server.py", line 142, in application
return application_unproxied(environ, start_response)
File "/home/odoo/odoo-dev/odoo13/odoo/odoo/service/wsgi_server.py", line 117, in application_unproxied
result = odoo.http.root(environ, start_response)
File "/home/odoo/odoo-dev/odoo13/odoo/odoo/http.py", line 1287, in __call__
return self.dispatch(environ, start_response)
File "/home/odoo/odoo-dev/odoo13/odoo/odoo/http.py", line 1257, in __call__
return self.app(environ, start_wrapped)
File "/home/odoo/.local/lib/python3.6/site-packages/werkzeug/middleware/shared_data.py", line 220, in __call__
return self.app(environ, start_response)
File "/home/odoo/odoo-dev/odoo13/odoo/odoo/http.py", line 1441, in dispatch
ir_http = request.registry['ir.http']
File "/home/odoo/odoo-dev/odoo13/odoo/odoo/modules/registry.py", line 177, in __getitem__
return self.models[model_name]
KeyError: 'ir.http' - - -
2.2.1 解决方法
删除错误数据库的时候就报错,实际没有删除损坏的数据库的。
换个浏览器删除掉,就可以正常访问了。
2.2.2 pgadmin 4
关闭 odoo 服务,再pgadmin 4 删除错误数据库。