传输数据到PostgreSQL数据库
我有一个mysql
DB tables.Now我想它的数据传输到postgresql
DB具有比mysql
DB.So我只想传递一些不同的结构,具有30-40列值为potsgresql
。
我想在Windows服务器上做到这一点。
怎么办?有没有工具可以使用它?传输数据到PostgreSQL数据库
对于选择性迁移这样的,我强烈建议您使用ETL工具,如:
- Pentaho的壶
- 了Talend工作室
- CloverETL
加上架构的手工转换。
你可以试试像Tim建议的EasyFrom工具那样的数据库迁移工具,但我从未对迄今为止使用过的任何工具印象深刻。
另一种选择是简单地使用SELECT ... INTO OUTFILE
从MySQL执行CSV转储,然后使用PostgreSQL的COPY
命令加载CSV。
对于选择性迁移,当您想要将数据从MySQL复制到Postgres时,最简单的方法是利用所谓的数据包装器。 https://wiki.postgresql.org/wiki/Foreign_data_wrappers
您需要在Postgres数据库中创建mysql_fwd扩展名,定义一个mysql服务器和一个用户映射。然后你就可以创建“外部表”,它们可以被视为外部数据库的窗口。你可以用它们来阅读和写作。
CREATE EXTENSION mysql_fdw;
CREATE SERVER mysql_cms
FOREIGN DATA WRAPPER mysql_fdw
OPTIONS (host '192.168.125.206', port '3306');
ALTER SERVER mysql_cms OWNER TO cmsuser;
CREATE USER MAPPING FOR cmsuser SERVER mysql_cms OPTIONS (username 'cmsuser', password '123456');
CREATE SCHEMA mysql_cms AUTHORIZATION cmsuser;
这是它创建了一个外部表
CREATE FOREIGN TABLE mysql_cms.video(
id INT,
artist text,
title text)
SERVER mysql_cms
OPTIONS (dbname 'cms', TABLE_NAME 'video');
感谢您的回复 – 2015-04-08 10:07:47
有一吨的工具,在那里帮助你,比如[EasyFrom(HTTP为例SQL命令://www.easyfrom。净/),可以自由评估。这里有一个博客([从MySQL迁移到Postgres的提示](http://blog.endpoint.com/2014/11/mysql-to-postgresql-migration-tips.html) – 2015-04-02 05:34:57