## F.32. pg\_surgery

[F.32.1. Functions](pgsurgery.html#id-1.11.7.41.4)[F.32.2. Authors](pgsurgery.html#id-1.11.7.41.5)

[]()

 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)>`

