【问题标题】:Apache Superset: Migrate from sqlite to PostgresApache Superset:从 sqlite 迁移到 Postgres
【发布时间】:2021-01-11 10:01:40
【问题描述】:

当我从 sqlite 迁移到 postgres 时,我无法对新数据库进行任何写入。 日志显示以下错误:

Unique key conflict id= 10, already exist in table ab_user

【问题讨论】:

    标签: postgresql apache-superset


    【解决方案1】:

    两种可能的情况:

    场景 A:您从零开始,想使用 Postgres 而不是 sqlite。

    1. 安装 postgres
    2. 将 postgres 连接字符串添加到 superset_config.py 文件中
    3. 运行 superset db upgrade 这将在 Postgres 上创建所有表
    4. 运行superset init
    5. 启动超集

    场景 B:您已经拥有一个已填充的 sqliteDB,并希望将其迁移到 Postgres。

    1. 安装 postgres
    2. 将 postgres 连接字符串添加到 superset_config.py 文件中
    3. 将所有表从 sqlite 复制到 postgres,有很多方法可以做到这一点。我的首选方法是使用 ruby​​
    4. 复制数据后运行superset db upgradesuperset init
    5. 完成此操作后,您需要在 Postgres 上更新表 information_schema.sequences 上的键序列,否则您将遇到唯一键冲突错误。
    6. 启动超集

    在这两种情况下,您都应该在运行 superset db upgrade 后看到以下消息,这意味着您已经正确配置了 superset_config.py。:

    INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
    

    通过设置环境变量确保超集正在查看配置文件:

    export PYTHONPATH=/home/local_settings/:$PYTHONPATH
    OR
    export SUPERSET_CONFIG_PATH=/home/local_settings/
    

    【讨论】:

      猜你喜欢
      • 2019-05-31
      • 1970-01-01
      • 1970-01-01
      • 2016-08-24
      • 2021-11-03
      • 2021-09-21
      • 2013-08-15
      • 2014-07-21
      • 1970-01-01
      相关资源
      最近更新 更多