我使用mwdumper和MySql导入MediaWiki数据库。现在我需要做同样的事情,但是使用Postgresql。
基本上我在这个链接中获得了一个档案:
http://dumps.wikimedia.org/enwiki/20140903/
我使用mwdumper程序来获取信息并放入我的数据库。
这是数据库脚本:
https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2Fpostgres%2Ftables.sql
我通过这个sql创建了数据库,现在我需要使用mwdumper将数据放入我的数据库中。 我看到很多关于此的链接,但只在MySql中做。
任何人都知道如何使用Postgres使用命令行进行导入?
Mwdumper:www.mediawiki.org/wiki/Manual:MWDumper
答案 0 :(得分:0)
我忘记了这个问题,但我发现解决方案,使用 mwdumper 和 postgres 的命令行是:
该命令没有错,发生的错误是因为mwdumper-1.16将xml转换为带有错误sintaxe的sql。
这是转换mwdumper(XML-> PostgreSql)后的插入sql:
INSERT INTO修订版(rev_id,rev_page,rev_text_id,rev_comment,rev_user,rev_user_text,rev_timestamp,rev_minor_edit,rev_deleted)VALUES(378187747,676,378187747,'没有这样的东西\“Jr。 “用俄文名字。真诚的你,X \\'ZZ \\'',0,'198.240.130.75','2010-08-10 14:55:48',0,0); < / em>的
在我的数据库Mysql中对同一个插件进行分析,Postgres中的预期文本是:
INSERT INTO(...),'没有“Jr.”这样的东西用俄文名字。真诚的,X'''ZZ \''',(...)。
例如: 为了表示双引号,mwdumper给出一个sintaxe \“,但在Postgres中代表”没有\,它只是“。与其他人相同的想法sintaxe错误。
当你解决所有sintaxe错误时,你可以完美地转储。