Size: a a a

pgsql – PostgreSQL

2021 January 28

KZ

Konstantin Zaitsev in pgsql – PostgreSQL
Aleksei Kleandrov
простой пример, есть родители и дети, и у тех и других есть баланс, нужно в одной выдаче получить балансы и родителей и детей.
обычный джоин подтянет мне детей, но уберет исходные строки с родителями.
первое что в голову приходит это мутить джоин родителей к родителям или вообще делать запрос на основе третьей таблицы
Политики и дети в одной таблице или двух?
источник

AK

Aleksei Kleandrov in pgsql – PostgreSQL
Konstantin Zaitsev
Политики и дети в одной таблице или двух?
двух
источник

R

Rustam in pgsql – PostgreSQL
horpto
Попробуй period_ >= '2020-01-01' and period_ < '2021-01-01'
Это сработало спасибо, но почему через LIKE не тянет не пойму и записей вроде не много.
источник

h

horpto in pgsql – PostgreSQL
Ошибка типов, а количество записей тут ни при чем
источник

R

Rustam in pgsql – PostgreSQL
какая может быть ошибка? не подскажите
источник

h

horpto in pgsql – PostgreSQL
Like работает только со строками
источник

h

horpto in pgsql – PostgreSQL
Естественно, что date внутри не хранится как строка
источник

R

Rustam in pgsql – PostgreSQL
это да спасибо!
источник

KZ

Konstantin Zaitsev in pgsql – PostgreSQL
Rustam
какая может быть ошибка? не подскажите
EXTRACT(YEAR FROM ..
источник

KZ

Konstantin Zaitsev in pgsql – PostgreSQL
посмотрите
https://sqlsunday.com/2014/04/06/accumulating-in-a-hierarchy/
слоожно понять вашу схеему
в pg синтаксис легко переделывается
источник

AK

Aleksei Kleandrov in pgsql – PostgreSQL
да вроде пример простой, спасибо посмотрю
источник

AK

Aleksei Kleandrov in pgsql – PostgreSQL
а ну там через union он же вроде медленный
источник

KZ

Konstantin Zaitsev in pgsql – PostgreSQL
Aleksei Kleandrov
а ну там через union он же вроде медленный
Тока приведите схему таблиц
источник

KZ

Konstantin Zaitsev in pgsql – PostgreSQL
Посчитать в иерархии бабушка дочка внук нельзя без with union или дермолизации
источник

AK

Aleksei Kleandrov in pgsql – PostgreSQL
Konstantin Zaitsev
Посчитать в иерархии бабушка дочка внук нельзя без with union или дермолизации
ну или связать через третью таблицу если бабушка и внук принадлежат к одной семье
источник

KZ

Konstantin Zaitsev in pgsql – PostgreSQL
Aleksei Kleandrov
ну или связать через третью таблицу если бабушка и внук принадлежат к одной семье
WITH hierarchy (topRowID, rowID)
AS
-  это ваша третья таблица .
выбор меежду прооизводительностью изменений и подсчета в запросе за вами (завистит от данных), поддержание таблицы потеенциально источник блокировок, но при больших объемах можееет быть оправдано.
источник

AK

Aleksei Kleandrov in pgsql – PostgreSQL
Такая таблица просто и так есть и поддерживать её не надо
источник

b

blkmrkt in pgsql – PostgreSQL
Настраиваю новый сервер, теперь с 8х NVMe драйвами. Уже создал кластер, но только заметил что блоксайз то я не настроил. У меня 8 штук вот таких дисков:

Disk /dev/nvme7n1: 1.8 TiB, 1920383410176 bytes, 3750748848 sectors
Disk model: KXD51RUE1T92 TOSHIBA
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Размер блока 4К, а в block_size выставлен 8К. Есть смысл пересоздать кластер, подогнав блоксайз под то что на диске?
источник

@

@skynet in pgsql – PostgreSQL
blkmrkt
Настраиваю новый сервер, теперь с 8х NVMe драйвами. Уже создал кластер, но только заметил что блоксайз то я не настроил. У меня 8 штук вот таких дисков:

Disk /dev/nvme7n1: 1.8 TiB, 1920383410176 bytes, 3750748848 sectors
Disk model: KXD51RUE1T92 TOSHIBA
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Размер блока 4К, а в block_size выставлен 8К. Есть смысл пересоздать кластер, подогнав блоксайз под то что на диске?
Нет. Если моча в голову бьет то можно отформатировать hdd с размером кластера равным размером сектору hdd 512байт. Если по делу, то hdd под базы надо форматировать с макс размером. Но менее 32к на кластер.
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
blkmrkt
Настраиваю новый сервер, теперь с 8х NVMe драйвами. Уже создал кластер, но только заметил что блоксайз то я не настроил. У меня 8 штук вот таких дисков:

Disk /dev/nvme7n1: 1.8 TiB, 1920383410176 bytes, 3750748848 sectors
Disk model: KXD51RUE1T92 TOSHIBA
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Размер блока 4К, а в block_size выставлен 8К. Есть смысл пересоздать кластер, подогнав блоксайз под то что на диске?
Кажется, нет. Это в оракле двадцать лет назад про размер блока были некие  рекомендации и даже "синий экран смерти" кто-то из знакомых ловил на NTFS с "неправильным" размером блока.
источник