Разница между переменными типа record и row в PostgreSQL заключается в их свойствах:
- Переменные типа row могут содержать целую строку результата запроса SELECT или FOR, если набор столбцов этого запроса соответствует объявленному типу переменной. www.postgresql.org Доступ к отдельным полям строки осуществляется с помощью обычной нотации точки, например rowvar.field. www.postgresql.org
- Переменные типа record похожи на переменные типа row, но не имеют предопределённой структуры. www.postgresql.org Они принимают структуру той строки, которой им назначают значение во время команды SELECT или FOR. www.postgresql.org Подструктура переменной записи может меняться каждый раз, когда ей назначают значение. www.postgresql.org
Таким образом, переменные типа row удобны, когда нужно хранить целую строку данных, возвращённых запросом, а переменные типа record — для динамической обработки наборов результатов без предопределённой структуры. www.geeksforgeeks.org