简体   繁体   中英

Postgres pg_dump issue

Good Day,

I've been trying to restore a dump file using the psql client and I'm getting this error:

psql.bin:/home/user/Desktop/dump/dumpfile.sql:907:
ERROR:  more than one function named "pg_catalog.avg"
CONTEXT:  COPY pg_aggregate, line 1, column aggfnoid: "pg_catalog.avg"

I created the dump file from a different Postgres DB (version: 9.4.5) using the command:

pg_dump --username=pgroot ${tables} --no-owner --no-acl --no-security
--no-tablespaces --no-unlogged-table-data --data-only dbname > dumpfile.sql

Where ${tables} is a variable in the for:

-T table1 -T table2 -T table3 ...

This is because I'm dumping specific tables listed in a new-line delimited file. Hence its not the entire database but specific tables I want to dump.

I tried loading the the dump file int another Postgres DB (9.6) using the following command:

psql -d dbname -U superuser -v "ON_ERROR_STOP=1" -f
${DUMP_DIR}dumpfile.sql -1 -a > ${LOG_ERR_DIR}dumpfile.log 
2>${LOG_ERR_DIR}dumpfile.err

This gave the error mentioned above. It seems this error is occurring because the dump file tries to add the function "pg_catalog.avg" to the database and it gives an error because it already exists.

The sql file generated by the pg_dump does not have anywhere in it where it creates the pg_catalog.avg function, so i don't know why this is occurring.

So I tried dropping the database and creating it from template0, and still I got the error. It seems to me that its a bug based on the follwoing post:

Re: BUG #6176: pg_dump dumps pg_catalog tables

I'm stuck trying to reslove this issue. If anyone can help me resolve this issue please respond?

Thank you in advance, j3rg

I found out what was causing this issue. It seems that there was an extra newline in the file containing the table listing. This was causing an extra table argument with no table specified and in turn pg_dump exported the sys tables into the file. I file I was searching for the avg function was the wrong file too.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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