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

时间:2012-07-25 10:01:26

标签: mysql sql postgresql mysqldump

我使用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创建它?

1 个答案:

答案 0 :(得分:4)

您可以在psql shell中使用它:

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

NOT 通过在某个配置文件中设置或ALTER USER等来使其持久化,因为这可能与安全相关。