Le faire une fois pourrait ressembler à ceci :
CREATE TEMP TABLE tmp_x (nr int);
COPY tmp_x FROM '/absolute/path/to/file';
DELETE FROM mytable d
USING tmp_x
WHERE d.mycol = tmp_x.nr;
DROP TABLE tmp_x;
Pour une utilisation répétée, enveloppez-le dans une fonction plpgsql
avec chemin de fichier / nom de table / nom de colonne comme paramètres. Si le nom de la table ou de la colonne est dynamique, vous devez utiliser EXÉCUTER
pour le DELETE
.