通过Cent OS中的Pgloader将数据库从MySQL迁移到PostgreSQL

时间:2016-06-16 02:28:40

标签: mysql database macos postgresql centos

我很困惑,并且不明白这是怎么回事。我在Mac OS X中使用pgloader将数据从MySQL迁移到PostgreSQL数据库。

Mac OSX

我试过

pgloader mysql://root@localhost/local postgresql://postgres@localhost/portal

我得到了

2016-06-15T13:11:23.017000-07:00 LOG Main logs in '/private/tmp/pgloader/pgloader.log'
2016-06-15T13:11:23.060000-07:00 LOG Data errors in '/private/tmp/pgloader/'
2016-06-15T13:11:23.262000-07:00 WARNING PostgreSQL warning: table "mirror_settings" does not exist, skipping
            table name       read   imported     errors            time
----------------------  ---------  ---------  ---------  --------------
       fetch meta data         25         25          0          0.092s
          create, drop          0         26          0          0.217s
----------------------  ---------  ---------  ---------  --------------
                caches          1          1          0          0.156s
       captive_portals          5          5          0          0.074s
              captures          2          2          0          0.029s
      cloud_securities          7          7          0          0.024s
               devices         88         88          0          0.056s
             externals          1          1          0          0.018s
            migrations         52         52          0          0.028s
       mirror_settings          1          1          0          0.036s
         notifications          7          7          0          0.038s
             operators          1          1          0          0.014s
            promotions          5          5          0          0.015s
                 users        224        224          0          0.020s
              visitors         14         14          0          0.013s
Index Build Completion          0          0          0          0.020s
----------------------  ---------  ---------  ---------  --------------
        Create Indexes         12         12          0          0.124s
       Reset Sequences          0         11          0          0.012s
          Primary Keys         11         11          0          0.009s
          Foreign Keys          0          0          0          0.000s
              Comments          0          0          0          0.000s
----------------------  ---------  ---------  ---------  --------------
     Total import time        408        408          0          0.871s

所有表格及其中的数据都是完美导入的。

Cent OS 6.7(64位)

然后,我以root@172.16.139.1的身份通过SSH连接到我的本地虚拟机并运行

pgloader mysql://root@172.16.139.1/local postgresql://postgres@172.16.139.130/portal

我得到了

debugger invoked on a SIMPLE-ERROR in thread
#<THREAD "main thread" RUNNING {10070AB033}>:
  Error opening shared object "libssl.so.1.0.0":
  libssl.so.1.0.0: cannot open shared object file: No such file or directory.

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE       ] Skip this shared object and continue.
  1: [RETRY          ] Retry loading this shared object.
  2: [CHANGE-PATHNAME] Specify a different pathname to load the shared object from.

(SB-SYS:DLOPEN-OR-LOSE #S(SB-ALIEN::SHARED-OBJECT :PATHNAME #P"libssl.so.1.0.0" :NAMESTRING "libssl.so.1.0.0" :HANDLE NIL :DONT-SAVE NIL))
0] 0
An unhandled error condition has been signalled:
   The value NIL
   is not of type
     (OR (VECTOR CHARACTER) (VECTOR NIL) BASE-STRING PATHNAME STREAM).

; 
; compilation unit aborted
;   caught 1 fatal ERROR condition

我现在有点陷入困境,我希望有人能够对这个问题有所了解。

对此的任何提示/建议将不胜感激!

1 个答案:

答案 0 :(得分:1)

我相信你有一个腐败的pgloader安装。你似乎从中获取RPM的http://tapoueh.org/pgloader/download.html上的下载链接是针对Centos 6.4的,不幸的是从那以后很多都发生了变化。

我建议你试试官方的postgresql YUM repository。请在卸载之前卸载以前安装的RPM。但是,即使这个存储库已将pgloader标记为不完全兼容。因此,如果此选项失败,您将别无选择,只能从源代码编译。