【问题标题】:how to import data from postgres database to android sqlite如何将数据从 postgres 数据库导入到 android sqlite
【发布时间】:2015-08-01 22:22:12
【问题描述】:

我有一个 Postgres 数据库服务器,我需要将表记录从 postgres 下载到平板电脑 android(sqlite 数据库)。 Android 中是否有执行此操作的功能?

示例:postgres 中有一个客户表,我需要将此表导入到 android 中的 sqlite。

欢迎任何提示。

最好的问候。

【问题讨论】:

  • 感谢 Bidhan 的修复

标签: android sqlite postgresql


【解决方案1】:

这可以通过从 postgres 将 sql 文件中的数据库哑化并将其导入 sqlite 来完成。

将数据库转储到 sql 文件中。

pg_dump dbname > outfile.sql

参考:http://www.postgresql.org/docs/9.1/static/backup-dump.html

从 sql 转储文件导入数据库

sqlite> .read outfile.sql

参考:https://www.sqlite.org/cli.html

您可以使用以下命令在 postgres 中转储特定表:

pg_dump  --table=table dbname > outfile.sql

【讨论】:

  • 这是一个有效的答案,但如果记录存在,我需要更新数据库。
  • 你可以在mysql转储文件中将INSERT INTO替换为INSERT OR REPLACEstackoverflow.com/questions/418898/…
  • @Fabricio 不同意。里面有很多不同的细节。你需要替换一些真实的广告虚假的。删除额外的命令等...在这里查看更详细的评论medium.com/@andreypu/…
【解决方案2】:

...你也应该在转换前清理你的转储文件
替换所有true -> 't', false -> 'f'(但不要碰CREATE TABLEs中的真假)
删除所有以SETSELECTALTER 等开头的行。
删除所有提及SCHEMA。和OWNER
(sqlite看不懂)
BEGIN; 添加为第一行,将END; 添加为 - 最后一行
它们之间应该只保留命令CREATE TABLE 和您的数据
比如INSERT INTO
并检查数据类型 - SQLite does not understand BIG_INT(不仅是他)

【讨论】:

    猜你喜欢
    • 2018-08-26
    • 2013-05-08
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 2016-01-21
    相关资源
    最近更新 更多