Metabase H2迁移PostgreSQL遇只读权限错误,求解决方案
解决Metabase H2转PostgreSQL迁移时的H2只读错误
排查解决步骤:
检查H2数据库文件的系统权限
确保运行Metabase的用户对H2数据库文件(通常是metabase.db.mv.db和metabase.db.trace.db)拥有读写权限。在Linux/macOS下可通过ls -l查看文件权限,用chmod 644 metabase.db.mv.db调整权限,或用chown将文件所有者改为运行Metabase的用户。移除H2连接URL中的只读参数
执行迁移命令时,确认H2的JDBC连接URL未添加;READ_ONLY=TRUE或类似只读配置。正确的H2连接格式应为:jdbc:h2:/path/to/your/metabase.db关闭占用H2文件的其他进程
若有其他Metabase实例、H2控制台或进程正在访问该H2数据库文件,会导致H2进入只读模式。用lsof(Linux/macOS)或任务管理器(Windows)找到并关闭相关进程后,重新执行迁移命令。验证PostgreSQL用户权限(额外排查)
虽然当前报错来自H2,但需确保AWS PostgreSQL实例的连接用户拥有创建表、写入数据的权限,避免后续迁移步骤出问题。可在PostgreSQL中执行:GRANT ALL PRIVILEGES ON DATABASE your_metabase_db TO your_user;
内容的提问来源于stack exchange,提问作者Bruno Peixoto
相关产品推荐
相关产品推荐

