Size: a a a

pgsql – PostgreSQL

2020 July 31

М

Максим in pgsql – PostgreSQL
set proc = good/all::float*100

так норм?
источник

NB

Nick Belous in pgsql – PostgreSQL
Народ, есть такая задача. Подскажите, как можно к ней подступиться?
Имеется таблица. Пусть будет 10 полей. Идентификатор первичный ключ и 9 полей с одинаковым типом (пусть varchar).
Эти 9 полей случайно заполнены произвольными значениями и null-ами.
Требуется в каждой записи сдвинуть поля со значениями максимально влево, а с null-ами соответственно вправо.
Для СУБД postgres v12
источник

NB

Nick Belous in pgsql – PostgreSQL
Исходные данные:
Id, f1, f2, f3, f4, f5, f6, f7, f8, f9
1, null, 'test', null, 'test1', 'test3', null, null, 'test4', 'test5'
2, null, null, 'test', 'test1', null, 'test3', null, null, null

и так несколько записей в том же духе

Результат:
Id, f1, f2, f3, f4, f5, f6, f7, f8, f9
1, 'test', 'test1', 'test3', 'test4', 'test5', null, null, null, null
Id, f1, f2, f3, f4, f5, f6, f7, f8, f9
2, 'test', 'test1', 'test3', null, null, null, null, null, null
источник

アレクセーイ in pgsql – PostgreSQL
Nick Belous
Исходные данные:
Id, f1, f2, f3, f4, f5, f6, f7, f8, f9
1, null, 'test', null, 'test1', 'test3', null, null, 'test4', 'test5'
2, null, null, 'test', 'test1', null, 'test3', null, null, null

и так несколько записей в том же духе

Результат:
Id, f1, f2, f3, f4, f5, f6, f7, f8, f9
1, 'test', 'test1', 'test3', 'test4', 'test5', null, null, null, null
Id, f1, f2, f3, f4, f5, f6, f7, f8, f9
2, 'test', 'test1', 'test3', null, null, null, null, null, null
заполнять обязательно по порядку или нет ?
т.е.
1 - test2, test, test5 .....
источник

NB

Nick Belous in pgsql – PostgreSQL
Вы имеете в виду построчно?
источник

NB

Nick Belous in pgsql – PostgreSQL
Если нет, то я не понял
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Максим
set proc = good/all::float*100

так норм?
Нет, конечно — Вы точность потеряли.
источник

М

Максим in pgsql – PostgreSQL
Yaroslav Schekin
Нет, конечно — Вы точность потеряли.
Так же само толоко нумерик указать?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Максим
Так же само толоко нумерик указать?
Почему просто не написать что-то вроде good/"all"*100.0?
источник

М

Максим in pgsql – PostgreSQL
Yaroslav Schekin
Почему просто не написать что-то вроде good/"all"*100.0?
Проверю, спасибо
источник

СК

Сергей Казаков... in pgsql – PostgreSQL
Сергей Казаков
всем привет. Есть такое ограничение
alter table subscription add constraint subscription_car_id_tstzrange_excl exclude using gist(cast(car_id as text) with =, tstzrange(started_at, finished_at, '[]') with &&);
. Оно не позволяет создать подписку на одну и ту же машину, у которой время действия пересекает время действия другой. Но теперь нужно добавить условие where deleted_at is null (если подписка не удалена). Но в constraint же нельзя добавлять where. А в create index нет exclude. Как это провернуть?
ни у кого нет идей?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Nick Belous
Народ, есть такая задача. Подскажите, как можно к ней подступиться?
Имеется таблица. Пусть будет 10 полей. Идентификатор первичный ключ и 9 полей с одинаковым типом (пусть varchar).
Эти 9 полей случайно заполнены произвольными значениями и null-ами.
Требуется в каждой записи сдвинуть поля со значениями максимально влево, а с null-ами соответственно вправо.
Для СУБД postgres v12
Как насчёт "путём отрывания рук тому, кто придумал такую схему"? ;(
Ну вот так, например:
WITH x (id, f1, f2, f3, f4, f5, f6, f7, f8, f9) AS (
VALUES
(1, NULL, 'test', NULL, 'test1', 'test3', NULL, NULL, 'test4', 'test5'),
(2, NULL, NULL, 'test', 'test1', NULL, 'test3', NULL, NULL, NULL)
)
SELECT x.*,
      a.s[1] AS g1, a.s[2] AS g2, a.s[3] AS g3, a.s[4] AS g4, a.s[5] AS g5,
      a.s[6] AS g6, a.s[7] AS g7, a.s[8] AS g8, a.s[9] AS g9
 FROM x
CROSS JOIN LATERAL (
      SELECT array_agg(u.e ORDER BY u.n) FILTER (WHERE u.e IS NOT NULL) AS s
        FROM unnest(ARRAY[x.f1, x.f2, x.f3, x.f4, x.f5, x.f6, x.f7, x.f8, x.f9]) WITH ORDINALITY AS u(e, n)
      ) AS a;
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Сергей Казаков
ни у кого нет идей?
Прямо цитата из документации:
EXCLUDE [ USING index_method ] ( exclude_element WITH operator [, ... ] ) index_parameters [ WHERE ( predicate ) ]

The predicate allows you to specify an exclusion constraint on a subset of the table; internally this creates a partial index. Note that parentheses are required around the predicate.
источник

NB

Nick Belous in pgsql – PostgreSQL
Yaroslav Schekin
Как насчёт "путём отрывания рук тому, кто придумал такую схему"? ;(
Ну вот так, например:
WITH x (id, f1, f2, f3, f4, f5, f6, f7, f8, f9) AS (
VALUES
(1, NULL, 'test', NULL, 'test1', 'test3', NULL, NULL, 'test4', 'test5'),
(2, NULL, NULL, 'test', 'test1', NULL, 'test3', NULL, NULL, NULL)
)
SELECT x.*,
      a.s[1] AS g1, a.s[2] AS g2, a.s[3] AS g3, a.s[4] AS g4, a.s[5] AS g5,
      a.s[6] AS g6, a.s[7] AS g7, a.s[8] AS g8, a.s[9] AS g9
 FROM x
CROSS JOIN LATERAL (
      SELECT array_agg(u.e ORDER BY u.n) FILTER (WHERE u.e IS NOT NULL) AS s
        FROM unnest(ARRAY[x.f1, x.f2, x.f3, x.f4, x.f5, x.f6, x.f7, x.f8, x.f9]) WITH ORDINALITY AS u(e, n)
      ) AS a;
Спасибо
источник

СК

Сергей Казаков... in pgsql – PostgreSQL
Yaroslav Schekin
Прямо цитата из документации:
EXCLUDE [ USING index_method ] ( exclude_element WITH operator [, ... ] ) index_parameters [ WHERE ( predicate ) ]

The predicate allows you to specify an exclusion constraint on a subset of the table; internally this creates a partial index. Note that parentheses are required around the predicate.
спасибо!!!
источник

ВС

Вячеслав Синельников... in pgsql – PostgreSQL
@gsmolk привет подскажи как запускать pg_probackup чтоб файлы создавались с chown root:wheel и chmod 777?
источник

GS

Grigory Smolkin in pgsql – PostgreSQL
Вячеслав Синельников
@gsmolk привет подскажи как запускать pg_probackup чтоб файлы создавались с chown root:wheel и chmod 777?
эээ, а зачем?
источник

ВС

Вячеслав Синельников... in pgsql – PostgreSQL
сейчас запускается от postgres юзера но он делает права такие что из контейнера подмена uid gid идет и в итоге я в сервере синхронизации вижу вообще не существующие id и софтина не может получить доступ на чтение/запись к файлам...
источник

ВС

Вячеслав Синельников... in pgsql – PostgreSQL
когда рут кладет файл папку то даже с подменой прав LXC->HOST ставятся норм и софтина видит и получает нужные права
источник

GS

Grigory Smolkin in pgsql – PostgreSQL
пробэкап проштамповывает все свои файлы 600
источник