2017-10-10 128 views
0

我试过下面的命令,它没有返回任何错误,但数据没有导入到我的postgres数据库中。pgloader没有导入数据从MySQL到Postgres

数据库已经在Postgres中创建。

pgloader mysql://user:[email protected]/mydb postgresql://user:[email protected]/mydb 

这是结果:

         table name  read imported  errors  total time 
------------------------------------------------- --------- --------- --------- -------------- 
            fetch meta data   38   38   0   1.032s 
            Create Schemas   0   0   0   0.253s 
           Create SQL Types   0   0   0   0.008s 
            Create tables   20   20   0   0.417s 
            Set Table OIDs   10   10   0   0.020s 
------------------------------------------------- --------- --------- --------- -------------- 
         mydb.active_admin_comments   0   0   0   0.007s 
         mydb.ar_internal_metadata   1   1   0   0.139s 
            mydb.departments   2   2   0   0.090s 
             mydb.roles   2   2   0   0.174s 
            mydb.sentiments   3   3   0   0.223s 
           mydb.twitter_users   6   6   0   0.276s 
           mydb.designations   3   3   0   0.087s 
          mydb.schema_migrations   17   17   0   0.085s 
             mydb.tweets   47   47   0   0.238s 
             mydb.users   2   2   0   0.184s 
------------------------------------------------- --------- --------- --------- -------------- 
          COPY Threads Completion   4   4   0   0.333s 
            Create Indexes   22   22   0   2.770s 
          Index Build Completion   22   22   0   0.626s 
            Reset Sequences   8   8   0   0.208s 
            Primary Keys   10   10   0   0.069s 
           Create Foreign Keys   6   6   0   0.053s 
            Create Triggers   0   0   0   0.000s 
           Install Comments   0   0   0   0.000s 
------------------------------------------------- --------- --------- --------- -------------- 
           Total import time   83   83   0   4.051s 

当我登录到psql命令来寻找数据,它不存在。例如,对于表格用户2记录应该如上所述通过pgloader导入,但这是结果:

user1=> \c mydb postgres 
Password for user postgres: 
psql (10.0, server 9.6.5) 
You are now connected to database "mydb" as user "postgres". 
mydb=# SELECT count(*) FROM users; 

count 
------- 
    0 
(1 row) 

mydb=# \dn 
      List of schemas 
      Name    | Owner 
-----------------------------+---------- 
public      | postgres 
mydb      | postgres 
(2 rows) 

问题出在哪里?

+0

进口,为什么你认为它不进口.. –

+0

@VaoTsun因为我postgres db似乎是空的。它没有记录。 – Ghias

+0

请更新后的输出您如何检查它? –

回答

1

我假设由于术语的不同(mysql模式是postgres作为数据库所需要的),您将表格加载到mydb模式,而不是公共模式。表名中带有“前缀”的列表给出了这个想法。所以为了找到你的数据加载 - 前表名指定架构名称,如

select count(*) from mydb.schema_migrations 

应该返回17行吗 - 与pgloader