Postgresql 从小白到高手 十一 :数据迁移ETL方案

时间:2024-05-04 17:14:24

文章目录

  • Postgresql 数据迁移ETL方案
    • 1、Pg 同类型数据库
    • 2 、Pg 和 不同数据库


Postgresql 数据迁移ETL方案

1、Pg 同类型数据库

备份 :

 pg_dump -U username -d dbname -f backup.sql

插入数据:

psql -U username -d dbname -f backup.sql
pg_restore -U username -d dbname -t table_name backup.sql

创建指向他处数据源的外部表:

CREATE FOREIGN TABLE external_table (
    id INT,
    name VARCHAR(50)
) SERVER external_server OPTIONS (table_name 'external_data');

pgAdmin 表同步
在这里插入图片描述
使用Sschme Diff 工具

2 、Pg 和 不同数据库

FDW (外部数据包装器)

CREATE SERVER foreign_server
   FOREIGN DATA WRAPPER postgres_fdw
   OPTIONS (host 'foreign_server_ip', port '5432', dbname 'foreign_dbname');
CREATE USER MAPPING FOR local_user
    SERVER foreign_server
    OPTIONS (user 'foreign_user', password 'foreign_password');

外部表

CREATE FOREIGN TABLE local_table (
    id INT,
    name VARCHAR(50)
) SERVER foreign_server OPTIONS (table_name 'remote_table');

当建立好外部数据包装器和外部表时,我们就可以在pg上查询外部表数据了,这个时候我们用存过将外部数据表的数据批处理转换为我们内部表所需数据,校正格式。任何数据在处理前,一定考虑好备份方案。
存过参考我们前面的第七、八、九章内容。