select ..., p.event_id is not null from events as e left join participations as p on p.user_id = ? and e.id = p.event_id
select ..., exists(select null from participations as p on p.user_id = ? and e.id = p.event_id) from events as e
Сейчас версия postgis 3.0.0
Note that a major change in 3.0 is that the raster functionality has been broken out as a separate extension.
-- install these if you need them
CREATE EXTENSION postgis_raster;
This can't be fixed; PHP doesn't control the way libxml2 does the allocations.
Получается, что можно сделать свою виртуальную машину (суммирующий сервер)
не придётся собирать Raspberry Pi
не придётся арендовывать сервер
повысить надёжность приложения, разместив его на нескольких серверах
работа по сети достаточно замедляет ответы от БД
SELECT increment FROM information_schema.sequences where sequence_name = 'example' and sequence_schema = 'public';
select increment_by from pg_sequences where schemaname = 'public' and sequencename = 'example';
select * from public.example;
очень плохо документирован
давно не обновляется и не поддерживается
или вообще не стоит использовать postgresql, а использовать специализированную базу данных?
3 колонки id, factor_id, parcel_id
Данную таблицу не надо анализировать или агрегировать. Нужно только иметь возможность быстро вставить и прочитать запись.
увеличивается примерно на 100к записей в день
3 колонки id, factor_id, parcel_id
при добавлении новой строки
BEFORE DELETE
CREATE TABLE big_bank(
id SERIAL NOT NULL PRIMARY KEY,
fio TEXT NOT NULL,
percent numeric DEFAULT 0,
score NUMERIC DEFAULT 0,
total NUMERIC GENERATED ALWAYS AS (percent * score) STORED
);
CREATE OR REPLACE FUNCTION autocuontfunc() RETURNS TRIGGER AS $big_bank$
BEGIN
NEW.total = NEW.percent * NEW.score;
RETURN NEW;
END;
$big_bank$ LANGUAGE plpgsql;
CREATE TRIGGER auto_cuont BEFORE INSERT OR UPDATE ON big_bank FOR EACH ROW EXECUTE PROCEDURE autocuontfunc();