我正在尝试将https://www.yelp.com/dataset/documentation/sql导入PostgreSQL实例。它有重音符号/反引号的问题。除了进行字符替换之外,还有其他方法可以解决这个问题吗?
ERROR: syntax error at or near "PaxHeader"
LINE 1: PaxHeader/yelp_db.sql17 uid=998889796
^
ERROR: syntax error at or near "`"
LINE 1: CREATE DATABASE /*!32312 IF NOT EXISTS*/ `yelp_db` /*!40100 ...
^
ERROR: syntax error at or near "USE"
LINE 1: USE `yelp_db`;
^
ERROR: syntax error at or near "`"
LINE 1: DROP TABLE IF EXISTS `attribute`;
答案 0 :(得分:0)
这些是PostgreSQL符合标准的典型MySQL语法问题,因此不支持。 GitHub上有一些不同的转换器可能有所帮助。当我不得不这样做时,有一些工具可以转换文本转储。他们并没有完美地工作,但他们已经足够接近了。回顾今天的工具,他们倾向于假设你有一个真正的MySQL数据库,而不仅仅是一个转储文件。
因此,今天解决此问题的合适方法是将数据加载到MySQL中,然后将其移至PostgreSQL。在这方面,您似乎有四个选项,我可以考虑转换架构和数据: