diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 322c41a9505e42f729b99964a35b37ec91fad544..9f5f25bfd4644eb42c1a5a6a0558ed5bb7665e45 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -12,7 +12,7 @@ * by PostgreSQL * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.329 2003/05/08 22:19:56 tgl Exp $ + * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.330 2003/05/17 15:53:12 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1173,8 +1173,10 @@ dumpClasses(const TableInfo *tblinfo, const int numTables, Archive *fout, /* Dump/restore using COPY */ dumpFn = dumpClasses_nodumpData; resetPQExpBuffer(copyBuf); - appendPQExpBuffer(copyBuf, "COPY %s %s %sFROM stdin;\n", - fmtId(tblinfo[i].relname), + /* must use 2 steps here 'cause fmtId is nonreentrant */ + appendPQExpBuffer(copyBuf, "COPY %s ", + fmtId(tblinfo[i].relname)); + appendPQExpBuffer(copyBuf, "%s %sFROM stdin;\n", fmtCopyColumnList(&(tblinfo[i])), (oids && tblinfo[i].hasoids) ? "WITH OIDS " : ""); copyStmt = copyBuf->data;