Size: a a a

pgsql – PostgreSQL

2020 May 22

s

sexst in pgsql – PostgreSQL
Yaroslav Schekin
Вам не кажется, что это крутовато? Есть много (довольно очевидных) ситуаций, где int на практике хватит "навсегда" — поставщики, клиенты, сотрудники и т.д. и т.п.
Никогда нельзя предугадать.
источник

s

sexst in pgsql – PostgreSQL
Вот серьезно. Ребята из openstreetmap тоже думали что им int хватит когда-то
источник

V

Valery in pgsql – PostgreSQL
Андрей Казанцев
Ну а как это сделать. Есть два списка id. Один те что в компании. Второй что у пользователя. Тут либо итерироваться по первому и проверять что кто-то не попал во второй. Либо проверить вхождение множества.
Вы описания таблиц то покажите? А то по вашим словам, связь ачивок с компанией в той же таблице, где и связь ачивок с пользователями....
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
sexst
Никогда нельзя предугадать.
Преувеличиваете, вот серьёзно. См. примеры выше.
источник

s

sexst in pgsql – PostgreSQL
Yaroslav Schekin
Преувеличиваете, вот серьёзно. См. примеры выше.
Ну так если записей мало, то зачем место под пару байт экономить? А если много - ну вы таки поняли.
источник

s

sexst in pgsql – PostgreSQL
Но вообще на откуп проектировщику конечно
источник

АК

Андрей Казанцев... in pgsql – PostgreSQL
Valery
Вы описания таблиц то покажите? А то по вашим словам, связь ачивок с компанией в той же таблице, где и связь ачивок с пользователями....
Нет конечно. Я же написал что связь у компаний с ачивками один ко многим. Значит у ачивок есть foreign key на компании. Всего 4 таблицы. Компании, ачивки, пользователи и таблица связей пользователей с ачивками.
источник

s

sexst in pgsql – PostgreSQL
Нужно то в итоге конкретно что? Ачивки имеющиеся перечнем получить нужно? Отсутствующие перечнем нужно? Количество тех и других? Сам факт отсутствия всех ачивок?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
sexst
Ну так если записей мало, то зачем место под пару байт экономить? А если много - ну вы таки поняли.
Если с этой стороны смотреть — то, в принципе, да. ;)
Но все эти id-ники могут быть и в (многих, потенциально) FK, и размер таблиц, к примеру, many-to-many (теоретически) может существенно отличаться.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Андрей Казанцев
Нет конечно. Я же написал что связь у компаний с ачивками один ко многим. Значит у ачивок есть foreign key на компании. Всего 4 таблицы. Компании, ачивки, пользователи и таблица связей пользователей с ачивками.
Вот и показали бы эти таблицы — сколько можно "танцевать о литературе"? ;)
источник

V

Valery in pgsql – PostgreSQL
У ачивок ФК на компанию и мтм к пользователям.... И всего 4 таблицы...
источник

MS

Maxim Sherstuk in pgsql – PostgreSQL
Добрый день! Вопрос по внешним ключам. Можно ли удалить запись из главной таблицы, если на эту запись больше не ссылаются внешними ключами никакие записи из другой таблицы? Подскажите, пожалуйста
источник

s

sexst in pgsql – PostgreSQL
Можно даже если ссылаются, но не указано on delete restrict
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Maxim Sherstuk
Добрый день! Вопрос по внешним ключам. Можно ли удалить запись из главной таблицы, если на эту запись больше не ссылаются внешними ключами никакие записи из другой таблицы? Подскажите, пожалуйста
Да.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
sexst
Можно даже если ссылаются, но не указано on delete restrict
Эээ... нет?
источник

W

Warstone in pgsql – PostgreSQL
Ув. тов. мозг, какие есть варианты чтобы ускорить работу Пг, кроме отключения fsync? Сохранность данных не важна (я опять про тесты), время жизни данных - пока с ними работают. Потом кластер будет удален.
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
Warstone
Ув. тов. мозг, какие есть варианты чтобы ускорить работу Пг, кроме отключения fsync? Сохранность данных не важна (я опять про тесты), время жизни данных - пока с ними работают. Потом кластер будет удален.
Сделать все таблицы unlogged
источник

W

Warstone in pgsql – PostgreSQL
Роман Жарков
Сделать все таблицы unlogged
На unlogged вроде транзакционная целостность не распространяется.
источник

s

sexst in pgsql – PostgreSQL
Yaroslav Schekin
Эээ... нет?
Ну удалить то даст физически. Либо удалит и в ссылающейся таблице при cascade, либо null воткнёт.
Можно ли с организационной точки зрения - на мой взгляд вопрос за пределами компетенции чата, оттого вряд ли задан именно в этом смысле.

Возможно, конечно, есть целая цепочка из таблиц с FK, в которой очередной ключ restrict кинет.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Warstone
Ув. тов. мозг, какие есть варианты чтобы ускорить работу Пг, кроме отключения fsync? Сохранность данных не важна (я опять про тесты), время жизни данных - пока с ними работают. Потом кластер будет удален.
https://www.postgresql.org/docs/current/non-durability.html
Кстати, по идее, synchronous_commit по сравнению с fsync — примерно то же самое по производительности, зато кластер не "накроется", если что.
источник