丢失Odoo 17管理员密码后,如何通过PgAdmin创建管理员权限用户
通过PgAdmin创建Odoo管理员权限新用户(Odoo17 + PostgreSQL12)
操作步骤
- 打开PgAdmin,连接到PostgreSQL服务器,定位到你正在使用的Odoo业务数据库。
- 右键目标数据库,选择查询工具,打开SQL编辑界面。
- 分步执行以下SQL语句:
步骤1:插入新用户记录
替换<用户名>、<登录账号>、<邮箱>为自定义信息,以下密码哈希对应默认登录密码admin,登录后可自行修改:
INSERT INTO res_users (name, login, password, email, active, create_uid, create_date, write_uid, write_date) VALUES ( '<用户名>', '<登录账号>', '$pbkdf2-sha512$25000$L98zUcG9s7K6F3D1S2A4Q5W8E9R3T6Y7U8I9O0P1A2S3D4F5G6H7J8K9L0Z1X2C3V4B5N6M$aBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDe', '<邮箱>', TRUE, 1, NOW(), 1, NOW() );
步骤2:验证新用户ID(可选)
确认新用户已插入并获取其ID:
SELECT id FROM res_users WHERE login='<你的登录账号>';
步骤3:分配管理员权限组
将新用户添加到最高权限组:
-- 添加系统管理员组(拥有全平台权限) INSERT INTO res_groups_users_rel (gid, uid) VALUES ( (SELECT id FROM ir_model_data WHERE module='base' AND name='group_system'), (SELECT id FROM res_users WHERE login='<你的登录账号>') ); -- 添加访问权限管理组 INSERT INTO res_groups_users_rel (gid, uid) VALUES ( (SELECT id FROM ir_model_data WHERE module='base' AND name='group_admin'), (SELECT id FROM res_users WHERE login='<你的登录账号>') );
- 执行完所有语句后,重启Odoo服务确保权限生效。
- 使用新创建的登录账号和密码
admin登录Odoo界面,登录后记得修改密码。
注意事项
- 确认操作的是目标Odoo业务数据库,不要混淆系统数据库。
- 执行SQL前建议备份数据库,避免数据异常。
- 若默认密码哈希无效,可通过Odoo命令行工具生成兼容的pbkdf2-sha512哈希值替换。
内容的提问来源于stack exchange,提问作者Adel
相关产品推荐
相关产品推荐

