Автоматический вызов функции в столбце при выборе или вставке

Я пытаюсь найти способ автоматического вызова функции в определенном столбце, фактически не вызывая ее в операторе sql.

Я использую PostGIS с типами для разных типов геометрии. Мне нужно вставить и выбрать геометрические столбцы в хорошо известном двоичном формате (WKB), который требует вызова ST_GeomFromWKB() для вставки WKB, и ST_AsBinary() чтобы получить данные в том же формате.

Предположим, у меня есть таблица, как определено:

CREATE TABLE IF NOT EXISTS geomtest (
    id SERIAL PRIMARY KEY,
    name TEXT NOT NULL,
    geom geometry(POLYGON, 4326) NOT NULL
);

Я хотел бы определить способ вызова соответствующих функций на geom столбец, при этом ссылаясь на столбец самостоятельно, например, если бы я должен был позвонить:

SELECT * FROM geomtest;

За кулисами я хотел бы позвонить:

SELECT id, name, ST_AsBinary(geom) FROM geomtest;

То же самое для вставок, но вместо вызова ST_GeomFromWKB() за кулисами.

Обратите внимание, что тип, возвращаемый по умолчанию, geometry (в шестнадцатеричном формате), но после вызова ST_AsBinary(), тип bytea,

Я пытался использовать представления, чтобы заставить это работать. Работало для выбора, но не для вставки. Я также изучил правила и триггеры, но не уверен, возможно ли сделать то, на что я надеюсь.

Есть ли решение этой проблемы?

Спасибо

0 ответов

Другие вопросы по тегам