如何将数据从 postgres 数据库导入到 android sqlite
Posted
技术标签:
【中文标题】如何将数据从 postgres 数据库导入到 android sqlite【英文标题】:how to import data from postgres database to android sqlite 【发布时间】:2015-08-01 22:22:12 【问题描述】:我有一个 Postgres 数据库服务器,我需要将表记录从 postgres 下载到平板电脑 android(sqlite 数据库)。 Android 中是否有执行此操作的功能?
示例:postgres 中有一个客户表,我需要将此表导入到 android 中的 sqlite。
欢迎任何提示。
最好的问候。
【问题讨论】:
感谢 Bidhan 的修复 【参考方案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 REPLACE
。 ***.com/questions/418898/…
@Fabricio 不同意。里面有很多不同的细节。你需要替换一些真实的广告虚假的。删除额外的命令等...在这里查看更详细的评论medium.com/@andreypu/…【参考方案2】:
...你也应该在转换前清理你的转储文件
替换所有true -> 't', false -> 'f'(但不要碰CREATE TABLE
s中的真假)
删除所有以SET
、SELECT
、ALTER
等开头的行。
删除所有提及SCHEMA
。和OWNER
(sqlite看不懂)
将BEGIN;
添加为第一行,将END;
添加为 - 最后一行
它们之间应该只保留命令CREATE TABLE
和您的数据
比如INSERT INTO
并检查数据类型 - SQLite does not understand BIG_INT
(不仅是他)
【讨论】:
以上是关于如何将数据从 postgres 数据库导入到 android sqlite的主要内容,如果未能解决你的问题,请参考以下文章
如何将数据从 Cloud Firestore 导入到本地模拟器?