Size: a a a

pgsql – PostgreSQL

2021 January 22

SE

Sergey Evseev in pgsql – PostgreSQL
Ilya Kaznacheev🥤
А там все подряд, или можно одну таблицу?
Можно отдельные нужные вам таблицы
источник

IK

Ilya Kaznacheev🥤 in pgsql – PostgreSQL
Sergey Evseev
Можно отдельные нужные вам таблицы
В первом или втором?
Начал читать доки, и как-то сходу не нашел возможности делать то, что мне нужно
источник

IK

Ilya Kaznacheev🥤 in pgsql – PostgreSQL
По сути мне нужно просто отправлять сообщения в кафку, но через бд
источник

SE

Sergey Evseev in pgsql – PostgreSQL
Ilya Kaznacheev🥤
В первом или втором?
Начал читать доки, и как-то сходу не нашел возможности делать то, что мне нужно
В связке debezium + wal2json, если я верно понял вопрос
источник

IK

Ilya Kaznacheev🥤 in pgsql – PostgreSQL
А, вон как. Спасибо
источник

IK

Ilya Kaznacheev🥤 in pgsql – PostgreSQL
Казалось бы, простая идея, а сложная реализация
источник

SE

Sergey Evseev in pgsql – PostgreSQL
Вам wal2json позволяет разбирать wal и формировать json по изменениям в нужных вам таблицах (нужно чтобы у вас PostgreSQL писал wal логи в режиме logical. А debezuim уже позволяет эту информацию в json формате закидывать в кафку.
В общем виде это так работает насколько я помню
источник

SE

Sergey Evseev in pgsql – PostgreSQL
Debezium ставится как конектор для Kafka. В конфиге этого коннектора в качестве плагина указывается wal2json.
В документации все описано. Готовой инструкции от а до я не находил.
источник
2021 January 23

IK

Ilya Kaznacheev🥤 in pgsql – PostgreSQL
Sergey Evseev
Debezium ставится как конектор для Kafka. В конфиге этого коннектора в качестве плагина указывается wal2json.
В документации все описано. Готовой инструкции от а до я не находил.
Спасибо, ценное пояснение. Буду изучать
источник

SE

Sergey Evseev in pgsql – PostgreSQL
Ilya Kaznacheev🥤
Спасибо, ценное пояснение. Буду изучать
Я давно в качестве эксперимента настраивал, вроде сохранилась инструкция чисто для себя, там базовая настройка просто чтобы проверить что работает. Думаю для старта подойдёт.
Если надо - напишите в личку.
источник

V

Viktor in pgsql – PostgreSQL
CREATE OR REPLACE FUNCTION process_get_vendors() RETURNS trigger AS $get_vendors$
   BEGIN
     SELECT * FROM public.vendors;
   END;
$get_vendors$ LANGUAGE plpgsql;



CREATE TABLE public.vendors(
   vendor_id serial PRIMARY KEY,
   username VARCHAR(50) UNIQUE NOT NULL
);


CREATE TRIGGER get_vendors
   AFTER UPDATE OR INSERT or DELETE ON public.vendors
   FOR EACH ROW
   EXECUTE PROCEDURE process_get_vendors();


INSERT INTO public.vendors (vendor_id, username) VALUES('1213', 'k_parker');

[42601] ERROR: query has no destination for result data
(cтрока 4)


Всем привет, я хочу, чтобы после каждого добавления данных в таблицу, срабатывал запрос и выводились все данные. Выше  я вставил код, который написал. Не могли бы вы помочь? Заранее спасибо
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Viktor
CREATE OR REPLACE FUNCTION process_get_vendors() RETURNS trigger AS $get_vendors$
   BEGIN
     SELECT * FROM public.vendors;
   END;
$get_vendors$ LANGUAGE plpgsql;



CREATE TABLE public.vendors(
   vendor_id serial PRIMARY KEY,
   username VARCHAR(50) UNIQUE NOT NULL
);


CREATE TRIGGER get_vendors
   AFTER UPDATE OR INSERT or DELETE ON public.vendors
   FOR EACH ROW
   EXECUTE PROCEDURE process_get_vendors();


INSERT INTO public.vendors (vendor_id, username) VALUES('1213', 'k_parker');

[42601] ERROR: query has no destination for result data
(cтрока 4)


Всем привет, я хочу, чтобы после каждого добавления данных в таблицу, срабатывал запрос и выводились все данные. Выше  я вставил код, который написал. Не могли бы вы помочь? Заранее спасибо
А ведь PostgreSQL Вам правильно сообщает, что "query has no destination for result data".
Т.е. куда выводились, в самом деле?
Вот выполнил кто-то INSERT, и результат выводится... куда?
источник

V

Viktor in pgsql – PostgreSQL
Yaroslav Schekin
А ведь PostgreSQL Вам правильно сообщает, что "query has no destination for result data".
Т.е. куда выводились, в самом деле?
Вот выполнил кто-то INSERT, и результат выводится... куда?
должно быть как-то так?

CREATE OR REPLACE FUNCTION process_get_vendors() RETURNS trigger AS $get_vendors$
   DECLARE
       ref refcursor;
   BEGIN

      OPEN ref FOR SELECT * FROM public.vendors;
      RETURN ref;
   END;
$get_vendors$ LANGUAGE plpgsql;

Но нужно возвращать в RETURNS и refcursor, а с этим проблема
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Viktor
должно быть как-то так?

CREATE OR REPLACE FUNCTION process_get_vendors() RETURNS trigger AS $get_vendors$
   DECLARE
       ref refcursor;
   BEGIN

      OPEN ref FOR SELECT * FROM public.vendors;
      RETURN ref;
   END;
$get_vendors$ LANGUAGE plpgsql;

Но нужно возвращать в RETURNS и refcursor, а с этим проблема
Ещё раз — куда выводились? Вы зря игнорируете вопрос.
На обычный INSERT postgres отвечает tag-ом выполнения команды, именно его и ожидает клиент, куда тут "всунуть" результат запроса?!
источник

V

Viktor in pgsql – PostgreSQL
Yaroslav Schekin
Ещё раз — куда выводились? Вы зря игнорируете вопрос.
На обычный INSERT postgres отвечает tag-ом выполнения команды, именно его и ожидает клиент, куда тут "всунуть" результат запроса?!
игнорирую, ибо не совсем понимаю
источник

R

Riclud in pgsql – PostgreSQL
что он хочет ?
источник

R

Riclud in pgsql – PostgreSQL
источник

V

Viktor in pgsql – PostgreSQL
SUM(unit_price * amount) sum
возможно так?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Viktor
игнорирую, ибо не совсем понимаю
Я не знаю, как ещё объяснить... Вы видели, что происходит при INSERT, какой у него результат?
Чего Вы ожидаете вместо этого?
источник

П

Павел П. in pgsql – PostgreSQL
ashv 36
Здравствуйте нет ли у кого примеров работы с pgsql через ансибл?
Звучит немного странно.
У ансибла есть конкретные модули для постгреса: для создания ролей, инициализации баз и пр.
Конфиги уже из шаблонов копировать собрав заранее факты об ОС, ну или теми же модулями line_in_file менять..
источник