2017-10-10 126 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