我正在尝试将sql转储导入postgresql db作为 -
sudo su postgres -c psql dbname < mydb_dump.sql
这会产生错误 -
SET SET SET SET SET SET ERROR: function "array_accum" already exists with same argument types ALTER AGGREGATE ERROR: function "c" already exists with same argument types ALTER AGGREGATE ERROR: duplicate key value violates unique constraint "pg_ts_config_cfgname_index" ERROR: duplicate key value violates unique constraint "pg_ts_config_map_index"
等等。那可能有什么问题?尝试谷歌搜索它,但找不到任何指针。
Postgresql版本是8.4.1
谢谢!
答案 0 :(得分:1)
在进行转储之前或加载转储之前,应该从数据库中删除共享函数和对象。您在template1中注册了这些函数和对象,并且在创建新数据库时,这些对象就在那里 - 当转储尝试再次创建它时,您可以看到错误。
这个问题在PostgreSQL 9.1中得到了很好的解决。对于旧版本,尝试使用选项--clean for pg_dump
的Pavel