Size: a a a

pgsql – PostgreSQL

2021 February 08

AD

Artemiy Dubovoy in pgsql – PostgreSQL
Федор Гулин
Как задать create extension чтобы функции оттуда можно было юзать во вью.
Аналог pivot в оракле вроде crosstab интересно в 1 очередь.
Postgres 10 в Azure
Если мне не изменяет память, то нужно создавать tablefunc. Ф-ция называется crosstab()
источник

ФГ

Федор Гулин... in pgsql – PostgreSQL
Я это знаю
Где задать чтобы было доступно по дефолту
Я в бобре даю команду и все ок но мне надо чтобы в сессии оно было доступно по дефолту чтобы я мог создать вью и процедуры использующие их
источник

KK

Konstantin K in pgsql – PostgreSQL
база забивается хвостами от удалённых файлов настолько, что не хватает места даже для vacuum analyze
источник

AD

Artemiy Dubovoy in pgsql – PostgreSQL
Федор Гулин
Я это знаю
Где задать чтобы было доступно по дефолту
Я в бобре даю команду и все ок но мне надо чтобы в сессии оно было доступно по дефолту чтобы я мог создать вью и процедуры использующие их
А вы точно в той базе создали, где вьюхи?
источник

ФГ

Федор Гулин... in pgsql – PostgreSQL
Я дал команду в бобре и все ок. Но при следующем Коннект она не подключена.
источник

ФГ

Федор Гулин... in pgsql – PostgreSQL
Правда когда я создал вью то extrnsion уже не дорпаетсч.
Похоже это и есть воркараунд сделать вью юзающую нужшные extensions чтобы они НЕ убирались в новой сессии.
Но вопрос АКТУАЛЕН.
Как сделать по уму в Azure чтобы extensions были доступны.
источник

R

Radist in pgsql – PostgreSQL
Konstantin K
база забивается хвостами от удалённых файлов настолько, что не хватает места даже для vacuum analyze
Имеет смысл подумать о выносе файлов из БД, кажется, несколько лет назад был доклад на одной из конференций про то, как делали подобный вынос в довольно большой БД (подробностей уже не вспомню). Хранение файлов в базе в какой-то момент становится слишком дорогим .
источник

E

Edya in pgsql – PostgreSQL
Коллеги, привет!

Никто не сталкивался с уходом базы в рекавери, после вызова функции в которой внутри вызываются таблицы по fdw (из гринплама и КХ)? Памяти на сервере навалом, не утилизируется даже на 10%

В логе есть только вот это:
2021-02-03 23:54:03.681 MSK [224156] LOG:  server process (PID 251981) was terminated by signal 11: Segmentation fault
2021-02-03 23:54:03.681 MSK [224156] DETAIL:  Failed process was running: select * from
schema.function(2193724158)
2021-02-03 23:54:03.681 MSK [224156] LOG:  terminating any other active server processes
2021-02-03 23:54:03.681 MSK [251983] WARNING:  terminating connection because of crash of another server process


Может кто подскажет куда копать?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Konstantin K
а принудительно почистить нельзя?
Только VACUUM FULL этой таблицы, по идее.

> что не хватает места даже для vacuum analyze

А для VACUUM FULL придётся как-то найти. ;(
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Edya
Коллеги, привет!

Никто не сталкивался с уходом базы в рекавери, после вызова функции в которой внутри вызываются таблицы по fdw (из гринплама и КХ)? Памяти на сервере навалом, не утилизируется даже на 10%

В логе есть только вот это:
2021-02-03 23:54:03.681 MSK [224156] LOG:  server process (PID 251981) was terminated by signal 11: Segmentation fault
2021-02-03 23:54:03.681 MSK [224156] DETAIL:  Failed process was running: select * from
schema.function(2193724158)
2021-02-03 23:54:03.681 MSK [224156] LOG:  terminating any other active server processes
2021-02-03 23:54:03.681 MSK [251983] WARNING:  terminating connection because of crash of another server process


Может кто подскажет куда копать?
Ну так, может, это bug в этом/этих fdw?
И мне кажется, что и в postgres что-то связанное с FDW совсем недавно исправляли...
источник

E

Edya in pgsql – PostgreSQL
Yaroslav Schekin
Ну так, может, это bug в этом/этих fdw?
И мне кажется, что и в postgres что-то связанное с FDW совсем недавно исправляли...
Конечно, может. Вот и пытаются выяснить какие-нибудь детали
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Edya
Конечно, может. Вот и пытаются выяснить какие-нибудь детали
Ну так я Вам подсказал, куда можно "копать", для начала.
Или Вы все bug reports / git logs во всех участвующих проектах проверили уже?
источник

JS

John Smith in pgsql – PostgreSQL
Добрый день
Есть табличка, в ней есть поле с датой. Даты могут быть пропущены:
2021-02-01
2021-02-02
2021-02-03
2021-02-06
2021-02-07

Мне нужно получить список неразрывных интервалов:
2021-02-01 - 2021-02-03
2021-02-06 - 2021-02-07

Как это можно реализовать?
источник

R

Rustam in pgsql – PostgreSQL
John Smith
Добрый день
Есть табличка, в ней есть поле с датой. Даты могут быть пропущены:
2021-02-01
2021-02-02
2021-02-03
2021-02-06
2021-02-07

Мне нужно получить список неразрывных интервалов:
2021-02-01 - 2021-02-03
2021-02-06 - 2021-02-07

Как это можно реализовать?
"список неразрывных интервалов" - можно подробней ?
источник

JS

John Smith in pgsql – PostgreSQL
Rustam
"список неразрывных интервалов" - можно подробней ?
А я привёл же пример. С 1 по 3 февраля даты идут последовательно, а после 3 февраля сразу 6, значит уже новый интервал начинается
источник

b

blkmrkt in pgsql – PostgreSQL
Кошмар, и это работает?

Если да, то напечатайте памятку каждой бухгалтерше чтоб использовали только первые записи в выпадающих списках, а при отправке любых цифр делили все на 2 🥸
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
John Smith
А я привёл же пример. С 1 по 3 февраля даты идут последовательно, а после 3 февраля сразу 6, значит уже новый интервал начинается
Подобный тип задач называется "gaps and islands", и "стандартных" решений более чем хватает.
К примеру, поищите тут https://dba.stackexchange.com/questions/tagged/gaps-and-islands , ну или просто в любом поисковике по этой фразе.
источник

JS

John Smith in pgsql – PostgreSQL
Rustam
"список неразрывных интервалов" - можно подробней ?
SELECT d::date
FROM generate_series(
 '2021-02-01'::timestamp without time zone,
 '2021-02-10'::timestamp without time zone,
 '1 day'
) AS gs(d)
WHERE NOT daterange( '2021-02-04', '2021-02-06', '[]' ) @> d:📅

Вот из этого я хочу получить daterange( '2021-02-01', '2021-02-03' ) и daterange( '2021-02-07', '2021-02-10' )
источник

JS

John Smith in pgsql – PostgreSQL
Yaroslav Schekin
Подобный тип задач называется "gaps and islands", и "стандартных" решений более чем хватает.
К примеру, поищите тут https://dba.stackexchange.com/questions/tagged/gaps-and-islands , ну или просто в любом поисковике по этой фразе.
Сейчас прогуглю, спасибо
источник

ФГ

Федор Гулин... in pgsql – PostgreSQL
Федор Гулин
Правда когда я создал вью то extrnsion уже не дорпаетсч.
Похоже это и есть воркараунд сделать вью юзающую нужшные extensions чтобы они НЕ убирались в новой сессии.
Но вопрос АКТУАЛЕН.
Как сделать по уму в Azure чтобы extensions были доступны.
Ещё вопрос появился.
Если 4 схемы будет в постгрес (миграция с оракла)
Куда пихать create extension  в свою схему, в public ?
И надо ли выдавать гранты на эти объекты ?
источник