Size: a a a

pgsql – PostgreSQL

2021 June 21

ac

alex che in pgsql – PostgreSQL
Подумайте наперёд, не изменятся ли соотношения. Например, у пользователя станет много адресов и много телефонов. Или права станете вещать не непосредственно пользователю, а через роль.
источник

М

Максим in pgsql – PostgreSQL
Привет
Ребята помогите пожалуйста, надо дописать процедуру для триггера, желательно ничего не сломать

CREATE OR REPLACE FUNCTION syncronize()
RETURNS trigger
LANGUAGE plpgsql
AS $function$
   
BEGIN
       
UPDATE data
       
SET
       
WHERE 1=1
       
AND
       ;
       
RETURN NEW;
   END;
$function$
;



мне надо дописать добавление строки или обновление записи в еще одной таблице


Нашел такой пример, вроде подходит
А как его правильно в функцию дописать?


begin tran
  update table with (serializable) set ...
  where key = @key

  if @@rowcount = 0
  begin
     insert into table (key, ...) values (@key,..)
  end
commit tran
источник

ac

alex che in pgsql – PostgreSQL
Максим, ваш пример из другого диалекта SQL
источник

VS

Vitaliy Snitko in pgsql – PostgreSQL
Да. Адресов будет много и они будут постоянно меняться. В теории их может быть сотни.
Но структура данных останется неизменной.
источник

М

Максим in pgsql – PostgreSQL
Блин, спасибо
но суть та же в принципе, просто не понятно после какой строки я могу продолжить
источник

М

Максим in pgsql – PostgreSQL
CREATE OR REPLACE FUNCTION syncronize()
RETURNS trigger
LANGUAGE plpgsql
AS $function$
   BEGIN
       UPDATE data
       SET …
       WHERE 1=1
       AND …
       ;
       INSERT INTO …
       ON CONFLICT DO UPDATE
       ;

       RETURN NEW;
   END;
$function$
;


+- так?
источник

ac

alex che in pgsql – PostgreSQL
Если адресов много, тогда их в отдельную таблицу, в которой будет колонка user_id
источник

VS

Vitaliy Snitko in pgsql – PostgreSQL
Ок. Спс. Принял.
источник

AC

All Cats in pgsql – PostgreSQL
всем привет!

в пг есть какое то ограничени по количеству подключений по умолчанию? если да то как его посмотреть/изменить?
источник

П

Павел П. in pgsql – PostgreSQL
show max_connections; из psql
источник

AC

All Cats in pgsql – PostgreSQL
сапсибо
источник

М

Максим in pgsql – PostgreSQL
Ребята, как правильно написать

on conflict do update set
column = case when 1=1 then column+1 else column end

то есть мне надо или добавить 1 или оставить как есть
источник

М

Максим in pgsql – PostgreSQL
ERROR: column reference colimn is ambiguous
такая ошибка сейчас (
источник

AS

Alexander Shelemin in pgsql – PostgreSQL
к column попробуйте алиас таблицы добавить
источник

М

Максим in pgsql – PostgreSQL
INSERT INTO table t1
так можно? никогда к инсерту его не добавлял)
источник

М

Максим in pgsql – PostgreSQL
работает

Спасибо большое.
Щас ответсвтенный ммоент, добавить в функцию)
источник

EB

Egor Bronin in pgsql – PostgreSQL
Всем привет! Не могу разобраться почему ON DELETE CASCADE не работает для внешнего ключа ссылающегося на эту же таблицу.
Может кто помочь?
источник

Am

Artyom muradyan99 in pgsql – PostgreSQL
Привет, подскажите что сделать пожалуйста.При вызове функции выдает 'Query has no destination for result data'. Я так понял ошибка связана с return ,но не могу разобраться.
источник

ГА

Георгий Ава... in pgsql – PostgreSQL
Такой вопрос на счет слотов логической репликации,
при создании на мастер-ноде(физической) слоты(объекты) не появились на
физической реплике.
Прошло переключение и мне пришлось создать слоты на новом мастере.
Интересно то, что на бывшем мастере (ставшем репликой) слоты остались, просто не активны.
Получается при настройке лог.репликации, надо с начало провести настройку на мастере, потом сменить роль и создать слоты на новом мастере.
После этого при переключении роли, подписчики не будут испытывать проблем в связи с отсутствием слота репликации.
В доке, вроде ни чего такого не нашел.
источник

AS

Alexander Shelemin in pgsql – PostgreSQL
делайте select into, чтобы в переменную заселектить данные.
источник