繁体   English   中英

如何使用Mysqldump更改Postgres格式的单引号转义?

[英]How to change escaping of single quotes with Mysqldump for Postgres format?

我使用mysqldump从表中保存数据并将其移至Postgres db。
我用以下方法进行转储:

mysqldump --complete-insert --no-create-info --no-create-db --compatible=postgresql -uroot -p music files > music_files.sql

但是在psql执行时:

=> \i music_files.sql

有这个错误:

music_files.sql:29: ERROR:  syntax error at or near "s"
LINE 1: ...,5,'Impossible',NULL),(33,4103,178,841,198,'Tifa\'s Theme [P...

Postgres不理解这种转义。 它希望2个引号''s
如何使用mysqldump进行制作?

您可以在psql shell中使用它:

=> set backslash_quote = on;
=> set standard_conforming_strings = off;
=> select 'foo\'bar';
 ?column? 
----------
 foo'bar
=> \i ...whatever...

不要让这个执着在一些配置文件,或通过将其设定ALTER USER等,因为这可能是相关的安全性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM