安裝完postgresql 12後開不起來
akira32chen opened this issue · comments
安裝完postgresql 12後下以下指令,卻出現錯誤:
python3 odoo-bin -w odoo -r odoo -c /home/[USER]/odoo/odoo13/config/odoo.conf
2021-03-26 06:02:13,709 943 INFO ? werkzeug: 127.0.0.1 - - [26/Mar/2021 06:02:13] "GET /web/database/manager HTTP/1.1" 500 - 0 0.000 0.007 2021-03-26 06:02:13,716 943 ERROR ? werkzeug: Error on request: Traceback (most recent call last): File "/home/akira/odoo/odoo13/odoo13/lib/python3.6/site-packages/werkzeug/serving.py", line 270, in run_wsgi execute(self.server.app) File "/home/akira/odoo/odoo13/odoo13/lib/python3.6/site-packages/werkzeug/serving.py", line 258, in execute application_iter = app(environ, start_response) File "/home/akira/odoo/odoo13/odoo/service/server.py", line 439, in app return self.app(e, s) File "/home/akira/odoo/odoo13/odoo/service/wsgi_server.py", line 142, in application return application_unproxied(environ, start_response) File "/home/akira/odoo/odoo13/odoo/service/wsgi_server.py", line 117, in application_unproxied result = odoo.http.root(environ, start_response) File "/home/akira/odoo/odoo13/odoo/http.py", line 1287, in __call__ return self.dispatch(environ, start_response) File "/home/akira/odoo/odoo13/odoo/http.py", line 1257, in __call__ return self.app(environ, start_wrapped) File "/home/akira/odoo/odoo13/odoo13/lib/python3.6/site-packages/werkzeug/wsgi.py", line 766, in __call__ return self.app(environ, start_response) File "/home/akira/odoo/odoo13/odoo/http.py", line 1421, in dispatch self.setup_db(httprequest) File "/home/akira/odoo/odoo13/odoo/http.py", line 1344, in setup_db httprequest.session.db = db_monodb(httprequest) File "/home/akira/odoo/odoo13/odoo/http.py", line 1506, in db_monodb dbs = db_list(True, httprequest) File "/home/akira/odoo/odoo13/odoo/http.py", line 1473, in db_list dbs = odoo.service.db.list_dbs(force) File "/home/akira/odoo/odoo13/odoo/service/db.py", line 378, in list_dbs with closing(db.cursor()) as cr: File "/home/akira/odoo/odoo13/odoo/sql_db.py", line 664, in cursor return Cursor(self.__pool, self.dbname, self.dsn, serialized=serialized) File "/home/akira/odoo/odoo13/odoo/sql_db.py", line 196, in __init__ self._cnx = pool.borrow(dsn) File "/home/akira/odoo/odoo13/odoo/sql_db.py", line 547, in _locked return fun(self, *args, **kwargs) File "/home/akira/odoo/odoo13/odoo/sql_db.py", line 615, in borrow **connection_info) File "/home/akira/odoo/odoo13/odoo13/lib/python3.6/site-packages/psycopg2/__init__.py", line 130, in connect conn = _connect(dsn, connection_factory=connection_factory, **kwasync) psycopg2.OperationalError: FATAL: Peer authentication failed for user "odoo" - - -
是否要先用pgadmin建立資料庫?
我試著用pgadmin建立一個odoo資料庫:
General / Name:odoo
Host:localhost
Port:5432
Maintenance database:postgres
Username:odoo
Password:odoo
可是按下Save,卻出現一個錯誤視窗
Error saving properties
Unable to connect to server:
FATAL:password authentication failed for user "odoo"
FATAL:password authentication failed for user "odoo"
我之前有安裝到Postgresql 13,有用pgadmin建立一個odoo的資料庫,帳密都為odoo,但是後來發現就將Postgresql完全移除,再安裝Postgresql 12
我後來找到一段youtube影片,終於解決了
How to resolve peer authentication failed for user odoo
https://www.youtube.com/watch?v=JRmXLDnJbjI
ps aux | grep odoo
sudo kill -9 [PS_ID]
/etc/postgresql/12/main/pg_hba.conf
local all odoo trust
sudo service postgresql restart
不過pgadmin我卻不會設定,都一直出現以下的訊息:
Unable to connect to server:
FATAL:password authentication failed for user "odoo"
FATAL:password authentication failed for user "odoo"
確認你的 postgresql 帳號和密碼是否正確,
如果你是和我一樣使用文章內的設定, 帳號密碼就都是 odoo, 可參考 docker-compose.yml
我已經安裝好postgresql也啟動,不過我不是用docker,我使直接安裝(sudo apt install postgresql-client-12)
pgAmin也是直接安裝,但是pgAmin一直無法設定odoo的資料庫,都會出現以下錯誤訊息:
想請問一下是否哪裡還需要設定?
Unable to connect to server:
FATAL:password authentication failed for user "odoo"
FATAL:password authentication failed for user "odoo"
$ psql odoo
odoo-# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
odoo | odoo | UTF8 | C | zh_TW.UTF-8 |
postgres | postgres | UTF8 | zh_TW.UTF-8 | zh_TW.UTF-8 |
template0 | postgres | UTF8 | zh_TW.UTF-8 | zh_TW.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | zh_TW.UTF-8 | zh_TW.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
基本上是設定的問題(db name, db password),
你用 FATAL:password authentication failed for user "odoo"
這個關鍵字 google 就會有答案了哦
https://stackoverflow.com/questions/12720967/postgresql-how-to-change-postgresql-user-password
後來用修改
local all all peer
local all all md5
並且修改odoo使用者的密碼
ALTER USER user_name WITH PASSWORD 'new_password';
重啟postgresql
sudo service postgresql restart
然後pgAdmin就正常了
@akira32chen 謝謝分享. 這文章感覺似成相似, 好像不是用 docker 的方式都需要這樣.