安装详细信息: 1x EC2运行Ubuntu 14.04和Postgres 9.3, 1x RDS运行Postgres 9.3
我正在尝试将我在EC2上的postgres数据库移动到RDS上。我正在使用Londiste,它是recommended by AWS,用于以最少的停机时间迁移数据库。具体来说,我使用的是Londiste/Skytools 2.1.13,因为Londiste3需要两个系统的超级用户权限。在
我尝试过通过他们网站的zip和apt-get安装Skytools(都是2.1.13)。我已经安装了我认为所有的依赖项:postgres、libpq dev、postgresql-server-dev-9.3、pip和psycopg2。在
不管怎样,每当我尝试使用任何skytools命令时,都会出现以下错误:
Traceback (most recent call last):
File "/usr/local/bin/pgqadm.py", line 9, in from pgq.ticker import SmartTicker File "/usr/local/lib/python2.7/dist-packages/pgq/init.py", line 6, inimport pgq.consumer File "/usr/local/lib/python2.7/dist-packages/pgq/consumer.py", line 6, in from pgq.baseconsumer import BaseConsumer, BaseBatchWalker File "/usr/local/lib/python2.7/dist-packages/pgq/baseconsumer.py", line 75,
in class BaseConsumer(skytools.DBScript): File "/usr/local/lib/python2.7/dist-packages/skytools/apipkg.py", line 114,
in __makeattr result = importobj(modpath, attrname) File "/usr/local/lib/python2.7/dist-packages/skytools/apipkg.py", line 37,
in importobj module = import(modpath, None, None, ['doc']) File "/usr/local/lib/python2.7/dist-packages/skytools/scripting.py", line 23,
in default_skylog = skytools.installer_config.skylog
AttributeError: 'module' object has no attribute 'skylog'
我失去了一个依赖吗?(Skylog似乎是skytools的一部分,所以我得出结论不是这样的。)还有其他人讨论过这个问题吗?(似乎没有任何谷歌搜索结果有这个错误。)谢谢!在
确保您正在运行位于本地
skytools-2.x.y
安装目录中的pgqadm.py
,例如:./python/pgqadm.py ticker.ini install
如果您以前安装过Skytools 3.x,这可能是一个问题,它可能首先出现在您的
PATH
中。在背景
我也遇到了同样的问题。我有相同的用例(迁移pg->;rds),并遵循了来自AWS documentation的相同建议。在
我最初安装了skytools3.x,后来才发现它需要超级用户权限。
which pgqadm.py
返回/usr/bin/pgqadm.py
,这是我放弃的skytools3.x安装的一个工件。在当我去Skytools源代码库寻找
skylog
的实例时,我开始怀疑版本冲突。第一个结果是: https://github.com/pgq/skytools-legacy/blob/11afc5210a92d4a2ccf701e4f92138488c31a3cb/python/skytools/installer_config.py.in但是,我意识到这个存储库正在跟踪最新的3.x版本。我切换到了明显的2.1.x分支,
skylog
找不到了,正如预期的那样:https://github.com/pgq/skytools-legacy/blob/skytools_2_1_stable/python/skytools/installer_config.py.in
完全限定
pgqadm.py
的路径可以解决此问题。在相关问题 更多 >
编程相关推荐