Apache时代的数据迁移

问题描述 投票:0回答:4

如何在 Apache 时代将数据从一个数据库迁移到另一个数据库,就像我有一个数据库“db_1”并想将数据从该数据库传输到另一个数据库“db_2”,那么我该怎么做??

我看过使用dump迁移PostgreSQL然后加载文件的过程。 Apache Age 是否同样适用,因为它是基于图形而非关系数据库的?

data-migration data-export apache-age
4个回答
0
投票

首先,您应该像这样复制数据库:

CREATE DATABASE db_2 WITH TEMPLATE db_1 OWNER umerFreak;

确保你的 db_1 在运行时处于空闲状态。

此过程完成后,在 db_2 中尝试运行:

\d

它应该列出你的关系。如果你没有看到你的图形关系。

按照这个重新创建它。


0
投票

您可以使用“转储”和“加载”命令。

首先使用以下命令创建转储:

$ age dump db_1 > db_1_dump

然后创建新的目标数据库。

然后使用加载命令加载源数据。

$ age load db_2 < db_1_dump

0
投票

是的,您可以使用类似的过程在两个 PostgreSQL 数据库之间迁移 Apache AGE 图形数据,因为 Apache AGE 将图形数据存储在 PostgreSQL 表中。该过程涉及使用 'pg_dump' 在源数据库中创建数据备份,并使用 'pg_restore' 将数据加载到目标数据库中。

这是使用 Apache AGE 在两个 PostgreSQL 数据库之间迁移图形数据的分步过程:

1- 使用 'pg_dump' 创建源数据库的备份,指定包含图形数据的表:

pg_dump -h source_host -p source_port -U source_user -W -F t -t employees -f employees_backup.tar source_db

'source_host''source_port''source_user''source_db' 替换为源数据库的连接详细信息,并将 'employees' 替换为包含图表的表的名称数据。

2- 如有必要,将备份文件 ('employees_backup.tar') 传输到目标服务器。

3- 在目标数据库中创建一个新表来存储迁移的数据。表架构应与源数据库中的相同。

CREATE TABLE employees (
    id SERIAL PRIMARY KEY,
    graph_data agtype
);

4-使用'pg_restore'将数据加载到目标数据库中:

pg_restore -h target_host -p target_port -U target_user -W -d target_db -t employees --single-transaction --clean --if-exists employees_backup.tar

将 target_host、target_port、target_user 和 target_db 替换为目标数据库的连接详细信息。

此过程会将 Apache AGE 图数据从“db_1”迁移到“db_2”。


0
投票

使用pg_dump命令创建源数据库的备份:

pg_dump -F c -f db_1_backup.dump db_1

这将创建一个名为db_1_backup.dump的db_1数据库的二进制备份文件。然后将备份文件传输到db_2数据库所在的目标机器上,并使用pg_restore命令将备份文件恢复到目标数据库中:

pg_restore -C -d db_2 db_1_backup.dump

这将在 db_2 数据库中创建 db_1 模式并将所有数据恢复到其中。

© www.soinside.com 2019 - 2024. All rights reserved.