# F.32. pg_surgery
F.32.1. FunctionsF.32.2. Authors
The pg_surgery
module provides various functions to perform surgery on a damaged relation. These functions are unsafe by design and using them may corrupt (or further corrupt) your database. For example, these functions can easily be used to make a table inconsistent with its own indexes, to cause UNIQUE
or FOREIGN KEY
constraint violations, or even to make tuples visible which, when read, will cause a database server crash. They should be used with great caution and only as a last resort.
# F.32.1. Functions
heap_force_kill(regclass, tid[]) returns void
heap_force_kill
marks “used” line pointers as “dead” without examining the tuples. The intended use of this function is to forcibly remove tuples that are not otherwise accessible. For example:
test=> select * from t1 where ctid = '(0, 1)';
ERROR: could not access status of transaction 4007513275
DETAIL: Could not open file "pg_xact/0EED": No such file or directory.
test=# select heap_force_kill('t1'::regclass, ARRAY['(0, 1)']::tid[]);
heap_force_kill
### F.32.2. Authors
Ashutosh Sharma `<[ashu.coek88@gmail.com](mailto:ashu.coek88@gmail.com)>`