Как получить список чисел отсутвующих в базе PostgreSQL?
Нужен опорный список значений и not exists подзапрос. Опорный список можно сделать через generate_series функциюselect n from generate_series(1,11) as n
where not exists (select from tablename where id = n)
ИМХО, если такой вопрос возник, то ВОЗМОЖНО что -то делаете не так. Вещать бизнес-смысл на IDб основная цель которых обеспечить уникальность - это в общем случае не очень правильно.
Тем не менее...
Возможно есть более красивое решение, но сходу не приходит в голову (для каждой БД оно будет свое). 
Общий подход:
1. Создаем таблицу t2 с большим количеством строк и с одним полем num. В цикле заполняем ее значениями от 1 до n.
2. В запросе минусуем исходную таблицу из t2
SELECT t.num FROM t2
EXCEPT
SELECT  t.id FROM base_table t
все.
ЗЫ Если таблицу делать лень, а число записей небольшое, то можно воспользоваться
SELECT  unnest(array[1, 2, 3, 4)