ну или можно ещё на уровне приложения контролировать и при записи конвертировать пустые строки в null
какого-то единого лучшего решения нет, на мой взгляд
вот так и сделал, в глобальный пайп захреначил проверку, там где пробелы с двух сторон trim-аются, если ничего не остаётся - залетает в postgres null. Пишут еще, что память не выделяется для null в отличае от пустой строки.