【发布时间】:2020-07-17 14:31:12
【问题描述】:
我希望在 Django 应用程序中以编程方式执行一些数据库操作,即,我想:
- 将数据库 A 中的表 A 复制到数据库 B 中的表 A(保留表名),然后清理并删除表 A。
因此,我有许多可能的选择来尝试和使用:
- 我可以尝试使用某种系统调用从应用程序中调用“pgdump”。
- 我可能会使用
psycopg包。 - 我更喜欢使用 Django 内置的
with connection.cursor() as cursor
假设:
- “表 A”存在于数据库 A 中,但“表 A”(架构和数据)在数据库 B 中不存在。
- 数据库 A 和数据库 B 存在于不同的“主机”上
实现这一目标的一些潜在方法是什么?我需要这样的东西,但要在两个数据库之间进行对话,源和目标......
CREATE TABLE [Table to copy To]
AS [Table to copy From]
WITH NO DATA;
【问题讨论】:
-
以下线程可能会对您有所帮助。 stackoverflow.com/questions/3195125/…
-
@prvreddy 不幸的是,您不能以编程方式执行此操作,密码需要用户输入。
-
@MichealJ.Roberts 是否需要复制表
structure或structure and data? -
@DanilaGanchar 结构和数据
标签: python postgresql psycopg2 pg-dump django-3.0