I found vacuumdb, reindexdb and clusterdb don't have cancel handlers.
The server continues to process commands when we press Ctrl+C on those
client programs, though they exit. Therefore, "psql -c VACUUM" and Ctrl+C
works well, but vacuumdb and Ctrl+C does not.

I borrowed the cancel handler from psql and add it into vacuumdb, reindexdb
and clusterdb. Other programs in src/bin/scripts also have the same problem,
but I think it is worth porting only for maintenance commands because they
take long time.

This bug (or spec?) exists in 7.4, 8.0, 8.1 and 8.2. Those commands
were wrappers of psql at 7.3 and we rewrote them into C programs at 7.4.
We might forget to port the feature then.

ITAGAKI Takahiro
NTT Open Source Software Center

Attachment: vacuumdb_cancel.patch
Description: Binary data

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?


Reply via email to