我的机器上安装了 odoo。我希望数据库连接到 amazon RDS。我在 RDS 上创建了 postgreSQL 数据库,并按如下方式编辑了 conf 文件:
; This is the password that allows database operations:
admin_passwd = MYADMINPASSWD
db_host = DATABASE-NAME.cAbC7aXWw6aE.us-east-2.rds.amazonaws.com
db_port = 5432
db_user = ODOO12
db_password = ODOO12PASSWORD
addons_path = /opt/odoo12/odoo/addons,/opt/odoo12/odoo-custom-addonsenter
上述操作不起作用,并且出现以下错误:
内部服务器错误服务器遇到内部错误,无法完成您的请求。服务器超载或应用程序出现错误。
编辑:当我转到 RDS AWS 日志错误文件时,它在 odoo 尝试连接数据库时显示以下消息:
ERROR: relation "ir_module_module" does not exist at character 28
2019-02-17 23:33:47 UTC:XXXXX.virtua.com.br(XXXX):odoo12@odoo12:[20563]:STATEMENT: SELECT latest_version FROM ir_module_module WHERE name='base'
答案1
问题似乎出在创建数据库时。虽然我没有解决问题,但我找到了一种解决方法,即首先在本地创建数据库,备份它,然后使用备份直接在 RDS 上创建数据库。这些是我采取的步骤:
- 设置配置文件以将数据库指向本地服务器
- 启动 odoo 并在本地创建数据库
- 备份数据库并生成 zip 文件
- 提取并保留“dump.sql”
- 使用以下代码在 RDS 中执行“dump.sql”:
psql --host=your_database_instase.XXXXX.us-east-2.rds.amazonaws.com --port=5432 --username=your_user_name --password -f /home/my_user/Downloads/odoobackup/dump.sql
- 设置配置文件以再次指向亚马逊 RDS。
- 重新启动服务器,一切都好了!