WSL-Squopg2中的Odoo 12没有为PostgreSQL获取正确的端口

人气:317 发布:2022-10-16 标签: postgresql odoo psycopg2 windows-subsystem-for-linux ubuntu-18.04

问题描述

我已使用WSL for Windows 10 Pro在Ubuntu 18.04 LTS中安装了Odoo 12。

看起来一切正常,服务正在运行,但当我访问本地主机时,我收到内部服务器错误,并收到以下错误:

    2019-09-05 06:52:07,596 309 ERROR ? werkzeug: Error on request:
Traceback (most recent call last):
  File "/opt/odoo/.local/lib/python3.6/site-packages/werkzeug/serving.py", line 303, in run_wsgi
    execute(self.server.app)
  File "/opt/odoo/.local/lib/python3.6/site-packages/werkzeug/serving.py", line 291, in execute
    application_iter = app(environ, start_response)
  File "/opt/odoo/odoo/odoo/service/server.py", line 409, in app
    return self.app(e, s)
  File "/opt/odoo/odoo/odoo/service/wsgi_server.py", line 128, in application
    return application_unproxied(environ, start_response)
  File "/opt/odoo/odoo/odoo/service/wsgi_server.py", line 117, in application_unproxied
    result = odoo.http.root(environ, start_response)
  File "/opt/odoo/odoo/odoo/http.py", line 1320, in __call__
    return self.dispatch(environ, start_response)
  File "/opt/odoo/odoo/odoo/http.py", line 1293, in __call__
    return self.app(environ, start_wrapped)
  File "/opt/odoo/.local/lib/python3.6/site-packages/werkzeug/middleware/shared_data.py", line 220, in __call__
    return self.app(environ, start_response)
  File "/opt/odoo/odoo/odoo/http.py", line 1453, in dispatch
    self.setup_db(httprequest)
  File "/opt/odoo/odoo/odoo/http.py", line 1376, in setup_db
    httprequest.session.db = db_monodb(httprequest)
  File "/opt/odoo/odoo/odoo/http.py", line 1537, in db_monodb
    dbs = db_list(True, httprequest)
  File "/opt/odoo/odoo/odoo/http.py", line 1504, in db_list
    dbs = odoo.service.db.list_dbs(force)
  File "/opt/odoo/odoo/odoo/service/db.py", line 375, in list_dbs
    with closing(db.cursor()) as cr:
  File "/opt/odoo/odoo/odoo/sql_db.py", line 657, in cursor
    return Cursor(self.__pool, self.dbname, self.dsn, serialized=serialized)
  File "/opt/odoo/odoo/odoo/sql_db.py", line 171, in __init__
    self._cnx = pool.borrow(dsn)
  File "/opt/odoo/odoo/odoo/sql_db.py", line 540, in _locked
    return fun(self, *args, **kwargs)
  File "/opt/odoo/odoo/odoo/sql_db.py", line 608, in borrow
    **connection_info)
  File "/opt/odoo/.local/lib/python3.6/site-packages/psycopg2/__init__.py", line 126, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? - - -

使用端口5433安装PostgreSQL:

Ver Cluster Port Status Owner    Data directory              Log file
10  main    5433 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log

我将conf文件etcodoo-server.conf中的端口从False更改为5433

[options]
; This is the password that allows database operations:
; admin_passwd = admin
db_host = False
db_port = 5433
db_user = odoo
db_password = False
logfile = /var/log/odoo/odoo-server.log
addons_path = /opt/odoo/addons,/opt/odoo/odoo/addons

但是,我收到了相同的错误。似乎Psycopg2将该值作为默认端口5432,即使我在.conf文件中指定了它。

有帮助吗? 谢谢

推荐答案

您的发行版(与我的发行版一样)可能将密钥放在/tMP目录中。 我一直在使用的一个快速解决方法是:

mkdir /var/run/postgresql
ln -s /tmp/.s.PGSQL.5432(or 5433) /var/run/postgresql/

417