Size: a a a

pgsql – PostgreSQL

2020 May 25

GS

Grigory Smolkin in pgsql – PostgreSQL
Андрей Лапин
2020-05-25 08:51:52 +04 [19204-1] СООБЩЕНИЕ:  процесс запуска автоочистки создан
2020-05-25 08:52:03 +04 [19205-1] СООБЩЕНИЕ:  используется просроченная статистика вместо текущей, так как сборщик статистики не отвечает
2020-05-25 08:52:03 +04 [19205-2] СООБЩЕНИЕ:  автоочистка: удаление устаревшей врем. таблицы "pg_temp_2"."tt1" в базе "DB"
2020-05-25 08:52:03 +04 [19205-3] ОШИБКА:  база данных не принимает команды во избежание потери данных из-за наложения в базе данных "DB"
В сингл моде надо дропнуть все временные таблицы
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
Grigory Smolkin
В сингл моде надо дропнуть все временные таблицы
Поговаривают. в 1С-ном чатике починили.
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Grigory Smolkin
В сингл моде надо дропнуть все временные таблицы
а как? они же принадлежат другим сессиям
источник

GS

Grigory Smolkin in pgsql – PostgreSQL
Victor Yegorov
а как? они же принадлежат другим сессиям
DROP TABLE
источник

GS

Grigory Smolkin in pgsql – PostgreSQL
В сингл моде можно не думать о других сессиях
источник

П

Павел П. in pgsql – PostgreSQL
Роман Жарков
Поговаривают. в 1С-ном чатике починили.
А как?) @lanman78 полезно же узнать)
источник

А

Асилбек in pgsql – PostgreSQL
Привет, ребята, у меня есть проблема в триггере.
Я написал этот триггер, AFTER INSERT и AFTER UPDATE  он работает, но AFTER DELETE он не работает.
источник

А

Асилбек in pgsql – PostgreSQL
CREATE OR REPLACE FUNCTION change_quantity_after_adding_new_expire_date()
 RETURNS trigger AS
$$
 DECLARE
      temp_quantity         integer;
      old_quantity          integer;

      quanity_difference     integer;


BEGIN
   old_quantity = (SELECT quantity FROM medicines WHERE medicines.id= NEW.medicine_id);

   IF (TG_OP = 'DELETE') THEN
       quanity_difference =  -1*OLD.quantity_piece;
   ELSEIF (TG_OP = 'UPDATE') THEN
       quanity_difference= NEW.quantity_piece - OLD.quantity_piece;
   ELSEIF (TG_OP = 'INSERT') THEN
       quanity_difference = NEW.quantity_piece;
   END IF;

       temp_quantity =old_quantity+quanity_difference;
   UPDATE medicines SET quantity = temp_quantity WHERE  medicines.id= NEW.medicine_id;
   RETURN OLD;
END
$$
LANGUAGE 'plpgsql';
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
Павел П.
А как?) @lanman78 полезно же узнать)
"скорее я пришёл к выводу что постгрес не может взаимодействовать со сборщиком статистики через сокеты. А они чаще всего используются с UDP. Поэтому предположил что у Андрея некорректно работает файрволл. На самом деле файрволл нужно всегда первым выключать при решении проблем, чтобы исключить фактор возможных  некорректных настроек файрволла"

Как оно мешало вакууму в сингл моде - я не догоняю.
источник

АЛ

Андрей Лапин... in pgsql – PostgreSQL
блокировались UDP-запросы. Для меня так и осталась загадка как работало пару лет и вдруг сломалось?!
источник

EK

Eduard Korolev in pgsql – PostgreSQL
всем привет, можно ли при помощи опций запрос SELECT PGP_SYM_ENCRYPT('Иван', 'AES_KEY') заставить возращать один и тот же ключ, наподобие хеш-функции?
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
Андрей Лапин
блокировались UDP-запросы. Для меня так и осталась загадка как работало пару лет и вдруг сломалось?!
Тут как раз загадки нет: счётчик транзакций потихоньку набежал.
источник

VY

Victor Yegorov in pgsql – PostgreSQL
сборщик статы не обновлял стату и поэтому автовакуум ничего не видел. пока не пришёл врапараунд, который стреляет при образении к блокам
источник

П

Павел П. in pgsql – PostgreSQL
Роман Жарков
"скорее я пришёл к выводу что постгрес не может взаимодействовать со сборщиком статистики через сокеты. А они чаще всего используются с UDP. Поэтому предположил что у Андрея некорректно работает файрволл. На самом деле файрволл нужно всегда первым выключать при решении проблем, чтобы исключить фактор возможных  некорректных настроек файрволла"

Как оно мешало вакууму в сингл моде - я не догоняю.
интересно это всё..)
источник

П

Павел П. in pgsql – PostgreSQL
Асилбек
CREATE OR REPLACE FUNCTION change_quantity_after_adding_new_expire_date()
 RETURNS trigger AS
$$
 DECLARE
      temp_quantity         integer;
      old_quantity          integer;

      quanity_difference     integer;


BEGIN
   old_quantity = (SELECT quantity FROM medicines WHERE medicines.id= NEW.medicine_id);

   IF (TG_OP = 'DELETE') THEN
       quanity_difference =  -1*OLD.quantity_piece;
   ELSEIF (TG_OP = 'UPDATE') THEN
       quanity_difference= NEW.quantity_piece - OLD.quantity_piece;
   ELSEIF (TG_OP = 'INSERT') THEN
       quanity_difference = NEW.quantity_piece;
   END IF;

       temp_quantity =old_quantity+quanity_difference;
   UPDATE medicines SET quantity = temp_quantity WHERE  medicines.id= NEW.medicine_id;
   RETURN OLD;
END
$$
LANGUAGE 'plpgsql';
при удалении нет NEW.medicine_id
источник

АЛ

Андрей Лапин... in pgsql – PostgreSQL
базы активно работают, неужели несколько лет копилось?!
источник

А

Асилбек in pgsql – PostgreSQL
Павел П.
при удалении нет NEW.medicine_id
Большое спасибо
источник

В

Вадим in pgsql – PostgreSQL
всем привет!

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

нужно выбрать архитектурное решение:
- постоянное соединение и по NOTIFY происходит обработка и посылка писем
- нет постоянного соединения а периодически делаем запрос на наличие данных в таблице и как только там появляются данные - забираем обрабатываем и шлем письма

подскажите какой вариант предпочтительнее
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Андрей Лапин
базы активно работают, неужели несколько лет копилось?!
не очень активно. есть базы где 2 лярда транзакций за неделю пробегают
источник

АЛ

Андрей Лапин... in pgsql – PostgreSQL
ясно. спасибо
источник