Size: a a a

pgsql – PostgreSQL

2020 July 11

Ð

Ð in pgsql – PostgreSQL
поэтому первые звоночки с неудобной работой с данными игнорировать нельзя, скорее всего это только первые ступеньки будущего json-ада
источник

2_

2flower _ in pgsql – PostgreSQL
Ð
поэтому первые звоночки с неудобной работой с данными игнорировать нельзя, скорее всего это только первые ступеньки будущего json-ада
в каких то кейсах я абсолютно согласен, но у каждого свои варианты.
тут как то проскакивало коллеги на json все данные засунули и на хп логику тоже на json и им нравится, проект уже в проде какое-то время, т.е. грабли они собрали.
в моем случае тоже json выход когда моя структура зависит от внешней системы, мне проще использовать json.
источник

Ð

Ð in pgsql – PostgreSQL
только когда структура зависит от клиента, это единственная причина использовать жсон
источник

D

David in pgsql – PostgreSQL
Всем добрый день!
такой вот вопрос. Есть ли возможность в postgresql выделять все столбцы ЗА ИСКЛЮЧЕНИЕМ каких либо? в моей таблице куча столбцов и не хочется их как-то переписывать
источник

2_

2flower _ in pgsql – PostgreSQL
David
Всем добрый день!
такой вот вопрос. Есть ли возможность в postgresql выделять все столбцы ЗА ИСКЛЮЧЕНИЕМ каких либо? в моей таблице куча столбцов и не хочется их как-то переписывать
а зачем? просто лень? это ведь мина замедленного действия, также плохо как и когда все поля не указывают.
источник

D

David in pgsql – PostgreSQL
2flower _
а зачем? просто лень? это ведь мина замедленного действия, также плохо как и когда все поля не указывают.
ну 30шт переписывать неохот, когда надо исключить всего парочку. думал может есть вариант
источник

2_

2flower _ in pgsql – PostgreSQL
David
ну 30шт переписывать неохот, когда надо исключить всего парочку. думал может есть вариант
а когда будете писать
insert into
select *,exclude somefield
как нибудь поле добавите в таблицу вот будет весело.
источник

2_

2flower _ in pgsql – PostgreSQL
David
ну 30шт переписывать неохот, когда надо исключить всего парочку. думал может есть вариант
сделайте view без 2 полей.
источник

D

David in pgsql – PostgreSQL
2flower _
а когда будете писать
insert into
select *,exclude somefield
как нибудь поле добавите в таблицу вот будет весело.
я чайничек в sql, так что не все шутки понимаю😅
источник

2_

2flower _ in pgsql – PostgreSQL
David
я чайничек в sql, так что не все шутки понимаю😅
это не шутка, это боль.
источник

D

David in pgsql – PostgreSQL
😅
источник

OM

Oleg Makarikhin in pgsql – PostgreSQL
David
ну 30шт переписывать неохот, когда надо исключить всего парочку. думал может есть вариант
нагенерируй
select string_agg(column_name, ', ') from information_schema.columns  where table_schema = 'public' and  table_name = 'tablename' and column_name not in ("list", "of", "exceptions")  group by table_schema, table_name;
источник

D

David in pgsql – PostgreSQL
Oleg Makarikhin
нагенерируй
select string_agg(column_name, ', ') from information_schema.columns  where table_schema = 'public' and  table_name = 'tablename' and column_name not in ("list", "of", "exceptions")  group by table_schema, table_name;
Спасибо, попробую
источник

2_

2flower _ in pgsql – PostgreSQL
Oleg Makarikhin
нагенерируй
select string_agg(column_name, ', ') from information_schema.columns  where table_schema = 'public' and  table_name = 'tablename' and column_name not in ("list", "of", "exceptions")  group by table_schema, table_name;
проще view сделать, инструмент гибче и ширше. :)
источник

IB

Ilya Belan in pgsql – PostgreSQL
Добрый день! Нуждаюсь в совете.

Условие: в таблице есть колонка flag BOOLEAN.
Задача: сделать проверку, что во всей таблице существует только один кортеж со значением TRUE в колонке flag.

CHECK CONSTRAINT не поддерживает агрегационные функции и запросы в теле условия. Не хватает знаний, чтоб составить такое условие.
источник

Ð

Ð in pgsql – PostgreSQL
Ilya Belan
Добрый день! Нуждаюсь в совете.

Условие: в таблице есть колонка flag BOOLEAN.
Задача: сделать проверку, что во всей таблице существует только один кортеж со значением TRUE в колонке flag.

CHECK CONSTRAINT не поддерживает агрегационные функции и запросы в теле условия. Не хватает знаний, чтоб составить такое условие.
сделай триггер на все события в таблице, пиши в нем в другую таблицу ставился или не ставился флаг, если флаг ставился - то бросай исключение при попытке вставить или установить еще один такой флаг
источник

IB

Ilya Belan in pgsql – PostgreSQL
Ð
сделай триггер на все события в таблице, пиши в нем в другую таблицу ставился или не ставился флаг, если флаг ставился - то бросай исключение при попытке вставить или установить еще один такой флаг
Да, вариант, но немного громоздко.  Вдруг есть проще решение.

А можно сделать UNIQUE  CONSTRAINT для конерктного значения в колонке? К примеру, чтоб TRUE  было уникально в колонке, а FALSE сколько хочешь.
источник

Ð

Ð in pgsql – PostgreSQL
замени false на null
источник

IB

Ilya Belan in pgsql – PostgreSQL
О
Костыль, но зато проверка будет проще. Вариант
Спасибо
источник

2_

2flower _ in pgsql – PostgreSQL
Ilya Belan
О
Костыль, но зато проверка будет проще. Вариант
Спасибо
null тоже боль
источник