gpt4 book ai didi

sql - 将带有反斜杠引号的 PostgreSQL 转储恢复到现代 PostgreSQL (9.3)

转载 作者:行者123 更新时间:2023-11-29 13:59:02 25 4
gpt4 key购买 nike

故事是这样的:

我必须将 mediawiki 数据库从 mysql 移动到另一台服务器上的 postgresql,我发现我可以使用 mediawiki 中称为“dumpBackup.php”的特殊脚本将所有内容导出到 xml。所以我做了。它制作了包含内容的 .xml 文件。

我已将此文件移动到安装了 postgresql 的新服务器中。我还安装了新版本的 mediawiki,因为我的转储文件没有数据库结构。

在下一步中,我使用 mwdumper 将此 .xml 结构转换为 postgresql 表示法中的 sql 转储。它创建了不错的文件,但我的 postgresql 不支持格式

请看,它生成了什么:

-- MediaWiki XML dump converted to SQL by mwdumper
BEGIN;
ALTER TABLE revision DISABLE TRIGGER ALL;ALTER TABLE page DISABLE TRIGGER ALL;;

INSERT INTO pagecontent (old_id,old_text,old_flags) VALUES (1,'\'\'\'Instalacja MediaWiki powiodła się.\'\'\'\n\nZobacz [//meta.wikimedia.org/wiki/Help:Contents przewodnik użytkownika] w celu uzyskania informacji o działaniu oprogramowania wiki.\n\n== Na początek ==\n* [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista ustawień konfiguracyjnych]\n* [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Komunikaty o nowych wersjach MediaWiki]','utf-8');
INSERT INTO revision (rev_id,rev_page,rev_text_id,rev_comment,rev_user,rev_user_text,rev_timestamp,rev_minor_edit,rev_deleted) VALUES (1,1,1,'',0,'MediaWiki default','2013-08-10 15:31:56',0,0);

...

它与我的 postgresql 实例不完全兼容。

问题:

  • 反斜杠转义

为了解决这个问题,我尝试添加SET standard_conforming_strings = 'off';SET backslash_quote = 'on'; 在文件的开头

  • 它正在尝试将内容添加到 public 架构中,但我想将其添加到 x 架构中

为了解决这个问题,我尝试添加 SET search_path TO x;

\'还有问题

最佳答案

除了 standard_conforming_strings = 'off'; backslash_quote = 'on' 在转储文件中我还必须将字符串格式从 '...' 更改为 E'...'。 Notepad++ 有错误的替换功能,所以我使用了 sed。

关于sql - 将带有反斜杠引号的 PostgreSQL 转储恢复到现代 PostgreSQL (9.3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24851335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com