如何使用“make pgloader”从源代码构建 pgloader?

问题描述 投票:0回答:0

我正在尝试将 MySQL 数据库迁移到 Postgres。 从我在网上阅读的内容来看,

pgloader
似乎是最好的工具。

背景:

我用

pgloader
安装了
apt-get
,但是在运行迁移时遇到了错误:

$ pgloader mysql://root:<password>@localhost/state_migrations postgresql:///state_migrations

ERROR mysql: Failed to connect to mysql at "localhost" (port 3306) as user "root": Condition QMYND:MYSQL-UNSUPPORTED-AUTHENTICATION was signalled.

我按照以下问题的建议通过更改 MySQL 的安全权限解决了这个问题:

这似乎有效,但后来我在运行迁移命令时遇到了这个错误:

pgloader ERROR mysql: 76 fell through ECASE expression.

我在 Github 上发现了这个issue,似乎有几个人在从源代码而不是

pgloader
安装
apt-get
后取得了成功。

本期:

这个 guide 帮助我弄清楚如何从源代码安装,但是

make pgloader
命令把我带到了我认为是 lisp 提示符的地方,我不明白我需要做什么...

make pgloader
mkdir -p build
curl -o build/quicklisp.lisp http://beta.quicklisp.org/quicklisp.lisp
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 57144  100 57144    0     0   389k      0 --:--:-- --:--:-- --:--:--  387k
sbcl --noinform --no-sysinit --no-userinit --load build/quicklisp.lisp                        \
             --load src/getenv.lisp                                               \
             --eval '(quicklisp-quickstart:install :path "build/quicklisp" :proxy (getenv "http_proxy"))' \
             --eval '(quit)'

  ==== quicklisp quickstart 2015-01-28 loaded ====

    To continue with installation, evaluate: (quicklisp-quickstart:install)

    For installation options, evaluate: (quicklisp-quickstart:help)

WARNING: Making quicklisp part of the install pathname directory

debugger invoked on a SB-BSD-SOCKETS:OPERATION-TIMEOUT-ERROR in thread
#<THREAD "main thread" RUNNING {1004BD8173}>:
  Socket error in "connect": ETIMEDOUT (Connection timed out)

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

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE] Ignore runtime option --eval "(quicklisp-quickstart:install :path \"build/quicklisp\" :proxy (getenv \"http_proxy\"))".
  1: [ABORT   ] Skip rest of --eval and --load options.
  2:            Skip to toplevel READ/EVAL/PRINT loop.
  3: [EXIT    ] Exit SBCL (calling #'EXIT, killing the process).

(SB-BSD-SOCKETS:SOCKET-ERROR "connect" 110)
   error finding frame source: Bogus form-number: the source file has probably
                               changed too much to cope with.
   source: NIL
0]

在说是

Making quicklisp part of the install pathname directory
后输出停止了一点,但最终超时了。 我试过输入
(quicklisp-quickstart:install)
,但是总是超时

0] (quicklisp-quickstart:install)


debugger invoked on a SB-BSD-SOCKETS:OPERATION-TIMEOUT-ERROR in thread
#<THREAD "main thread" RUNNING {1004BD8173}>:
  Socket error in "connect": ETIMEDOUT (Connection timed out)

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

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT   ] Reduce debugger level (to debug level 1).
  1: [CONTINUE] Ignore runtime option --eval "(quicklisp-quickstart:install :path \"build/quicklisp\" :proxy (getenv \"http_proxy\"))".
  2:            Skip rest of --eval and --load options.
  3:            Skip to toplevel READ/EVAL/PRINT loop.
  4: [EXIT    ] Exit SBCL (calling #'EXIT, killing the process).

(SB-BSD-SOCKETS:SOCKET-ERROR "connect" 110)
   error finding frame source: Bogus form-number: the source file has probably
                               changed too much to cope with.
   source: NIL
0[2] 
postgresql makefile debian quicklisp pgloader
© www.soinside.com 2019 - 2024. All rights reserved.