首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Mysql迁移到postgre

从Mysql迁移到postgre
EN

Stack Overflow用户
提问于 2015-10-13 19:53:51
回答 1查看 364关注 0票数 0

我当时正致力于将数据从MYSQL迁移到postgre。如何在postgre表中插入mysql数据?提前感谢代码:

代码语言:javascript
复制
try {


$conexion = new PDO("mysql:host=$direccion;dbname=$base_d", $us, $contra);

$conexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


            $consulta = $conexion->prepare('SELECT * FROM ' . $tabla_b);

            //Ejecuto la consulta 
            $consulta->execute();

            $consulta_array = $consulta->fetchAll(); 


            var_export($consulta_array);

$dbconn = pg_connect("host=$direccion2 dbname=$base_d2 user=$us2 password=$contra2")
or die('No se ha podido conectar: ' . pg_last_error());

$insercion= pg_copy_from($conexion, $tabla_b2, $consulta_array,",");


        } catch (PDOException $e) {

   echo "Error conectando con la base de datos: " . $e->getMessage();
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2016-02-15 15:07:11

您是否尝试过使用Pgloader

我发现将MySql迁移到Postgres是一种非常快速有效的方法。

下面是如何继续使用Pgloader的快速示例。

创建一个包含以下内容的.load文件。(您可以排除前面带有"--“的不需要的行)

代码语言:javascript
复制
load database  
     from      mysql://root@localhost/base_d
     into postgresql:///base_d

 WITH include drop, create tables, no truncate,  
      create indexes, reset sequences, foreign keys  

 -- SET maintenance_work_mem to '128MB', work_mem to '12MB', search_path to 'base_d'  
 CAST type datetime to timestamptz  
                drop default drop not null using zero-dates-to-null,  
      type date drop not null drop default using zero-dates-to-null  

 -- MATERIALIZE VIEWS film_list, staff_list  

 -- INCLUDING ONLY TABLE NAMES MATCHING ~/film/, 'actor'  
 -- EXCLUDING TABLE NAMES MATCHING ~<ory>  

 BEFORE LOAD DO  
 $$ create schema if not exists base_d; $$; 

请注意,在这里,pgloader将受益于在MySQL数据库中找到的元数据信息,以创建能够托管所述数据的PostgreSQL数据库,然后加载数据。

请注意,我们使用的是pgloader的MATERIALIZE VIEWS子句:此处选择的视图将连同其内容一起迁移到PostgreSQL。

.下载 Pgloader

pgloader现在可以使用pgloader命令迁移数据。

$ pgloader base_d.load (保存上述内容的文件)

参考:http://pgloader.io/howto/mysql.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33102030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档