Size: a a a

pgsql – PostgreSQL

2020 December 22

DS

David Shiko in pgsql – PostgreSQL
Artemiy Dubovoy
NULL — это буквально отсутсвие значения. Когда вы указываете условие != ‘something’, вы говорите постгресу — выведи мне все значения, которые не равны something. А NULL — это не значение, поэтому в выборку оно не попадает. Вам нужно добавить в WHERE инструкцию OR IS NULL
Спасибо
источник

VY

Victor Yegorov in pgsql – PostgreSQL
WHERE comment IS DISTINCT FROM 'foo';
источник

AD

Artemiy Dubovoy in pgsql – PostgreSQL
Victor Yegorov
WHERE comment IS DISTINCT FROM 'foo';
О, крутой оператор, не знал
источник

XN

Xeon Null in pgsql – PostgreSQL
Добрый вечер, таблица с составным уникальным индексом на 2 атрибута. По при этом есть 2 строки с одинаковыми значениями. Как такое может быть?
источник

XN

Xeon Null in pgsql – PostgreSQL
Строка(внутри цифры) и целое, по отдельности не уникальны
источник

VY

Victor Yegorov in pgsql – PostgreSQL
1. приехал врапараунд, а вы почему-то не заметили (фантастическая версия)
2. битый индекс. вполне может быть, если железо ненадёжное. или если вы обновляли ОС и обновили libc.

в любом случае убирать руками дубликаты и перестраивать индекс
источник

R

Rustam in pgsql – PostgreSQL
Rustam
Подскажите хотя бы пример триггера для данного случая:

Есть 2 таблицы

tb1
id
name
status

tb2
id
id_tb1
name

при добавлении записи в tb2 со связью в tab1 триггер обновляет имеющие связи записи в поле status
Если кому нибудь пригодится!
-- drop function if exists trigger_on_tb1();
create or replace function trigger_on_tb1()
returns trigger language plpgsql
as $function$
begin
   UPDATE tb1 SET status = 2 WHERE id = new.id_tb1;
   return new;
 
end; $function$;


-- drop trigger if exists trigger_on_tb1 on tb2;
create trigger trigger_on_tb1
 after insert -- or update or delete
 on tb2
 for each row
 execute procedure trigger_on_tb1();
источник
2020 December 23

AR

A R in pgsql – PostgreSQL
Доброе утро! Тем, у кого доброе ). Отвалился Postgres. Ругается на pid, что такой процесс уже запущен с таким pid. Убивали процесс, проовали перезапускать - бесполезно. Сервер несколько раз ребутали - также.
Сами данные вроде как целы. С бэкапов восстановили всё, кроме одной базы, которая ночью не сделалась. С PostgreSQL не работал до этого. Вопросы:
1. В директории data\base все папки имеют числовой вид. Где посмотреть сопоставление базы в СУБД с цифровой директорией в этой папке?
2. Правильно же понимаю, что установив на другой сервер такую же версию PostgreSQL и скопировав туда содержимое со старого сервера, всё должно запуститься в теории?
3. Какие могут быть подводные камни, которые не учёл?
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
A R
Доброе утро! Тем, у кого доброе ). Отвалился Postgres. Ругается на pid, что такой процесс уже запущен с таким pid. Убивали процесс, проовали перезапускать - бесполезно. Сервер несколько раз ребутали - также.
Сами данные вроде как целы. С бэкапов восстановили всё, кроме одной базы, которая ночью не сделалась. С PostgreSQL не работал до этого. Вопросы:
1. В директории data\base все папки имеют числовой вид. Где посмотреть сопоставление базы в СУБД с цифровой директорией в этой папке?
2. Правильно же понимаю, что установив на другой сервер такую же версию PostgreSQL и скопировав туда содержимое со старого сервера, всё должно запуститься в теории?
3. Какие могут быть подводные камни, которые не учёл?
1) запускаете утилиту oid2name, смотрите
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
2) Насколько я помню это работало, по крайней мере я не вижу причин по которым это может не работать.
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
Скажите, а как вы восстановили всё из бэкапов кроме одной базы? У вас, видимо, не бэкапы, а дампы были?
источник

AR

A R in pgsql – PostgreSQL
Бэкапы не средствами PostgreSQL. Базы 1С. Делалось средствами 1С.
источник

KK

Konstantin Knizhnik in pgsql – PostgreSQL
A R
Доброе утро! Тем, у кого доброе ). Отвалился Postgres. Ругается на pid, что такой процесс уже запущен с таким pid. Убивали процесс, проовали перезапускать - бесполезно. Сервер несколько раз ребутали - также.
Сами данные вроде как целы. С бэкапов восстановили всё, кроме одной базы, которая ночью не сделалась. С PostgreSQL не работал до этого. Вопросы:
1. В директории data\base все папки имеют числовой вид. Где посмотреть сопоставление базы в СУБД с цифровой директорией в этой папке?
2. Правильно же понимаю, что установив на другой сервер такую же версию PostgreSQL и скопировав туда содержимое со старого сервера, всё должно запуститься в теории?
3. Какие могут быть подводные камни, которые не учёл?
Надо лог постгреса смотреть. Постгрес выдаёт сообщение что процесс таким пидом уже запущен на основании файла, который создаётся при запуске постгреса и удаляется при нормальном завершении. Эта не ошибка, а варнинг. Если такого процесса на самом деле нет, то постгрес нормально запустится.  А если не запустился - см. лог.
источник

AR

A R in pgsql – PostgreSQL
Alexander Nikitin
1) запускаете утилиту oid2name, смотрите
Какие-то чудеса. Запустил утилиту. И плюс-минус в этот момент PostgreSQL корректно запустился сам.
источник

KK

Konstantin Knizhnik in pgsql – PostgreSQL
A R
Какие-то чудеса. Запустил утилиту. И плюс-минус в этот момент PostgreSQL корректно запустился сам.
Вскрытие показало, что больной спал:)
Если сервер нормально не завершился, то при следующем запуске он делает рекавери. Если чекпоинты редки, база большая а машина дохлая - то это может занять очень продолжительное время. При это сервер не будет принимать запросы.
источник

2_

2flower _ in pgsql – PostgreSQL
A R
Какие-то чудеса. Запустил утилиту. И плюс-минус в этот момент PostgreSQL корректно запустился сам.
Так может он все это время восстанавливался после сбоя, а вы ему все это время мешали?
источник

AR

A R in pgsql – PostgreSQL
Konstantin Knizhnik
Вскрытие показало, что больной спал:)
Если сервер нормально не завершился, то при следующем запуске он делает рекавери. Если чекпоинты редки, база большая а машина дохлая - то это может занять очень продолжительное время. При это сервер не будет принимать запросы.
Сервер достаточно мощный. Ему год. SSD NVMe, свежие высокочастотные Зеоны, 200 Гб оперативки... Баз в сумме на 200 Гигов. Максимум одна - гигов 10.
источник

AR

A R in pgsql – PostgreSQL
2flower _
Так может он все это время восстанавливался после сбоя, а вы ему все это время мешали?
Могу логи прислать, если интересно
источник

AR

A R in pgsql – PostgreSQL
PostgreSQL, как выяснилось, запустился, как процесс, а не как служба
источник

Z

Zumrud in pgsql – PostgreSQL
Hi. I want to find archivelog size or number generated per day (like oracle). Does anybody know?
источник