В PL/pgSQL можно выполнять SQL-запросы внутри процедур, используя переменные как параметры. Поддерживаются команды INSERT, UPDATE, DELETE и SELECT (без интереса к результату). Однако есть ограничения: нельзя использовать служебные команды (VACUUM, CREATE INDEX) и команды управления транзакциями (COMMIT, ROLLBACK) в функциях, только в процедурах. Для работы с результатами запросов используются переменные (скалярные или составные), но если SELECT возвращает несколько строк, обрабатывается только первая. Расширение pepcheck помогает выявлять ошибки в коде, такие как перекрытие переменных или несоответствие количества полей.