PostgreSQL автоматически сжимает все, что хранится в TOAST, которое он использует для больших строк. Это сжатие прозрачно, поэтому при вызове кода похоже, что сжатия не было - для чтения и записи используется несжатая форма - но на самом деле это так.
Поскольку он прозрачен, он не влияет на запросы при поиске по значениям.
Если вы используете myisampack с MySQL, он сжимает таблицу, но делает ее доступной только для чтения. Я не уверен, позволяет ли это экспресс-версия.
С любой базой данных вы можете выполнить собственное сжатие и сохранить полученный BLOB-объект:
Плюсы:
Вероятно, лучше, чем сжатие PostgreSQL во многих случаях.
Вероятно, лучше, чем любое сжатие, которое происходит в протоколе связи.
Если вы используете данные в сжатом виде, то работа для вас сделана.
Минусы:
Требуется работа с вашей стороны.
Разрушает возможность поиска в соответствующем поле.
Может неоптимально мешать внутреннему сжатию (хотя, вероятно, все же лучше, чем сжатие в тех баллах, где сжатие является победой)
Если вы не можете использовать сжатые данные, то у вас есть больше работы, прежде чем получить к ним доступ.