Вы можете импортировать этот ваш текстовый файл, содержащий идентификаторы, во временную таблицу и использовать его в качестве фильтра в предложении IN
.
Рассмотрим файл, содержащий эти идентификаторы ...
1
3
.. и эта структура таблицы и образец данных ...
CREATE TABLE t (id SERIAL, val TEXT);
INSERT INTO t (val) VALUES ('foo'),('bar'),('foo2'),('bar2');
SELECT * FROM t;
id | val
----+------
1 | foo
2 | bar
3 | foo2
4 | bar2
Импортируйте идентификаторы во временную таблицу:
CREATE TEMPORARY TABLE tmp (id INT);
COPY tmp FROM '/tmp/ids.csv';
И используйте ее в своем запросе:
SELECT * FROM t WHERE id IN (SELECT id FROM tmp);
id | val
----+------
1 | foo
3 | foo2
(2 Zeilen)
Или в вашем экспорте, используя COPY
:
COPY (SELECT * FROM t WHERE id IN (SELECT id FROM tmp)) TO ... ;