pgloader没有导入数据从MySQL到Postgres
问题描述:
我试过下面的命令,它没有返回任何错误,但数据没有导入到我的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)
问题出在哪里?
答
我假设由于术语的不同(mysql模式是postgres作为数据库所需要的),您将表格加载到mydb模式,而不是公共模式。表名中带有“前缀”的列表给出了这个想法。所以为了找到你的数据加载 - 前表名指定架构名称,如
select count(*) from mydb.schema_migrations
应该返回17行吗 - 与pgloader
进口,为什么你认为它不进口.. –
@VaoTsun因为我postgres db似乎是空的。它没有记录。 – Ghias
请更新后的输出您如何检查它? –