Разница между ключевыми словами PERFORM и SELECT в PostgreSQL заключается в их функциях.
SELECT используется для выполнения функций, которые должны возвращать значение определённого типа. 3 При использовании SELECT любые вхождения имён переменных PL/pgSQL заменяются параметрами запроса. 1 Это позволяет составлять план запроса для SELECT только один раз, а затем повторно использовать его для последующих вычислений с различными значениями переменных. 1
PERFORM используется, когда нужно вычислить выражение или запрос SELECT, но отбросить результат. 14 Например, при вызове функции с побочными эффектами, не имеющей полезного значения результата. 1 Команда PERFORM выполняет запрос и устанавливает специальную переменную FOUND в значение true, если запрос выдал хотя бы одну строку, или в false, если он не выдал ни одной строки. 14
Таким образом, SELECT предназначен для работы с функциями, которые должны возвращать значение, а PERFORM — для ситуаций, когда нужно игнорировать результат выполнения запроса.