plpgsql обеспечивает большую безопасность типов. Я считаю, что вы должны выполнять явное приведение, если хотите выполнять операции с использованием двух разных столбцов схожего типа, таких как varchar и text или int4 и int8. Это важно, потому что если вам нужно, чтобы ваши хранимые процессы использовали индексы, postgres требует, чтобы типы точно соответствовали условиям соединения (я думаю, что для проверок на равенство тоже).
Может быть, есть возможность для этого на других языках, хотя я не использовал их. В любом случае, я надеюсь, что это даст вам лучшую отправную точку для вашего расследования.