Size: a a a

pgsql – PostgreSQL

2021 July 02

V

Valery in pgsql – PostgreSQL
С А на С один набор, с В на С второй набор, а с А на В третий набор? Нет ли в третьем табличек из второго?
источник

SB

Sergey Bazanov in pgsql – PostgreSQL
Да есть.
источник

ГР

Геннадий Романов... in pgsql – PostgreSQL
когда insert в переменную timestamp
типо
insert into table (t) values ('2021-21-05 11:11:11:123')
или
insert into table (t) values ('2021-21-05 11:11:11')
postgres автоматом выбирает формат для парсинга?
источник

V

Valery in pgsql – PostgreSQL
Нет ли в В триггеров или чего-то что переносит данные из таблиц А в таблицы С?
источник

ГР

Геннадий Романов... in pgsql – PostgreSQL
и где эти форматы можно увидеть?
источник

SB

Sergey Bazanov in pgsql – PostgreSQL
Триггеров нет
источник

SB

Sergey Bazanov in pgsql – PostgreSQL
Да часть таблиц попадает
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
источник

ГР

Геннадий Романов... in pgsql – PostgreSQL
спасибо

INSERT INTO statuses (card_number, old_status, blocking_date)
    VALUES SELECT a1.card_number, a1.status,
                   CASE WHEN a1.status = 'Blocked' THEN a1.status_change_date_time_utc
                        ELSE NULL
                   END as blocking_date
              FROM clients AS a1
                   LEFT JOIN statuses AS a2
                          ON a1.card_number = a2.card_number
             WHERE a2.card_number IS NULL
                OR a1.status <> a2.old_status
        ON CONFLICT (card_number) DO UPDATE
           SET old_status = EXCLUDED.status,
               blocking_date = EXCLUDED.blocking_date;


в чем синтаксическая ошибка не пойму?
источник

V

Valery in pgsql – PostgreSQL
Можете убрать из набора с А на В дублирующие таблицы?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Написано же:
ERROR:  syntax error at or near "SELECT"
LINE 2:      VALUES SELECT a1.card_number, a1.status,
                   ^

Вы что, используете какой-то клиент, который не выдаёт ошибки нормально?
источник

V

Valery in pgsql – PostgreSQL
В логической репликации каскады разрешены, но вот по составу таблиц не помню можно ли ромб делать (когда два публикатора для одной таблицы)
источник

SB

Sergey Bazanov in pgsql – PostgreSQL
Предлагал ДБ линк, чтобы одни и теже таблицы дважды не реплицировать. Бизнес требует как описал (часть таблиц и туда и туда)
источник

ГР

Геннадий Романов... in pgsql – PostgreSQL
так а в чем ошибка?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
В том, что такого синтаксиса не существует.
Command:     INSERT
Description: create new rows in a table
Syntax:
[ WITH [ RECURSIVE ] with_query [, ...] ]
INSERT INTO table_name [ AS alias ] [ ( column_name [, ...] ) ]
   [ OVERRIDING { SYSTEM | USER } VALUE ]
   { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query }
Т.е. либо
INSERT INTO statuses (card_number, old_status, blocking_date)
    VALUES ('a', 'b', 'c'), ...

либо
INSERT INTO statuses (card_number, old_status, blocking_date)
SELECT a1.card_number, a1.status, ...
источник

ГР

Геннадий Романов... in pgsql – PostgreSQL
дошло спасибо!
источник

V

Valery in pgsql – PostgreSQL
А конфликты как решать бизнес планирует? Когда в одну и ту же таблицу приедут с двух разных серверов одинаковые PK?
источник

SB

Sergey Bazanov in pgsql – PostgreSQL
Конфликтов не может быть, т.к. на каждом из серверов, куда реплицируются таблицы нет ни одной одинаковой.
источник

ГР

Геннадий Романов... in pgsql – PostgreSQL
а синтаксиса
insert ... select ... on conflict ... do update нету?
только
insert ... values ... on conflict ... do update?
источник

V

Valery in pgsql – PostgreSQL
Вы определитесь, одинаковые ли у вас таблицы переносятся с А на С и с В на С, а то ранее говорили что часть таблиц совпадает
источник