Another fucking year.

Another #PostgreSQL version without MIN/MAX aggregators for fucking UUID v7 (or an exclusive, UUID-v7-type-column)

Thank you.

#Programming #Coding #Code #PgSQL #Postgre #SQL #Database #Databases #RDBM #RDBMS #DB #UUID #UUIDv7 #SoftwareDevelopment #WebDevelopment #WebDev #AppDevelopment #AppDev

[Перевод] Опасности первичных ключей UUID в SQLite и оптимизация данных

В базах данных в качестве первичных ключей часто используют случайные UUID. Один из известных недостатков случайных UUID заключается в том, что их неупорядоченность (UUID4) может вызывать большое количество дополнительных обращений к страницам кластеризованных индексов (clustered index), потому что строки вставляются в случайные места B-дерева, и его приходится постоянно перебалансировать. В этой статье я попытаюсь помочь вам выработать более интуитивное понимание того, как влияют на производительность все эти дополнительные операции со страницами. Хотя статья посвящена конкретно SQLite, проблема случайных UUID касается и других баз данных, использующих кластеризованные индексы.

https://habr.com/ru/articles/1045870/

#первичные_ключи #uuidv4 #uuidv7

Опасности первичных ключей UUID в SQLite и оптимизация данных

В базах данных в качестве первичных ключей часто используют случайные UUID. Один из известных недостатков случайных UUID заключается в том, что их неупорядоченность (UUID4) может вызывать большое...

Хабр

UUIDv7 takes the best of two worlds for distributed systems: auto-incrementing ID and UUIDv4. It keeps page splits and fragmentation out of primary key index, while also maintaining cryptographically secure randomness to prevent insecure direct object reference. (This obsoletes UUIDv4, which only tends to bloat every index and cost more with each write operation.)

https://www.youtube.com/watch?v=JbdvmQ_HgJo

#UUID #UUIDv7 #UUID7 #UUIDv4 #UUID4 #AutoIncrement #ID #database #databases

Auto-Increment vs UUID Explained in 5 Minutes

YouTube

📰 主キーはもう「UUIDv7」一択なのか? 〜 ID技術の歴史的変遷と現時点の最適解 〜 (👍 81)

🇬🇧 Is UUIDv7 now the only choice for primary keys? Historical evolution of ID technologies and current optimal solutions.
🇰🇷 기본 키는 이제 UUIDv7만? ID 기술의 역사적 변천과 현시점의 최적 솔루션.

🔗 https://zenn.dev/loglass/articles/c2db7e85702571

#UUIDv7 #Database #Zenn

主キーはもう「UUIDv7」一択なのか? 〜 ID技術の歴史的変遷と現時点の最適解 〜

Zenn

📰 主キーはもう「UUIDv7」一択なのか? 〜 ID技術の歴史的変遷と現時点の最適解 〜 (👍 68)

🇬🇧 Is UUIDv7 the only choice for primary keys? Historical evolution of ID technologies and current best practices explained.
🇰🇷 주키는 이제 UUIDv7 일택? ID 기술의 역사적 변천과 현시점의 최적해를 상세 분석.

🔗 https://zenn.dev/loglass/articles/c2db7e85702571

#UUIDv7 #Database #Zenn

主キーはもう「UUIDv7」一択なのか? 〜 ID技術の歴史的変遷と現時点の最適解 〜

Zenn

📰 主キーはもう「UUIDv7」一択なのか? 〜 ID技術の歴史的変遷と現時点の最適解 〜 (👍 33)

🇬🇧 Is UUIDv7 now the only choice for primary keys? Historical evolution of ID technologies and current best practices
🇰🇷 UUIDv7이 이제 기본 키의 유일한 선택인가? ID 기술의 역사적 변천과 현재의 최적 솔루션

🔗 https://zenn.dev/loglass/articles/c2db7e85702571

#Database #UUIDv7 #Zenn

主キーはもう「UUIDv7」一択なのか? 〜 ID技術の歴史的変遷と現時点の最適解 〜

Zenn
How to use UUIDv7 in Python, Django and PostgreSQL

Learn how to use UUIDv7 today with stable releases of Python 3.14, Django 5.2 and PostgreSQL 18. A step by step guide showing how to generate UUIDv7 in Python, store them in Django models, use PostgreSQL native functions and build time ordered primary keys without writing SQL.

Paolo Melchiorre

[Перевод] Более глубокий взгляд на старый UUIDv4 и новый UUIDv7 в PostgreSQL 18

UUIDv4 как первичный ключ в PostgreSQL обычно ругают за «случайность» — но за этим словом прячется конкретная физика: сплиты страниц B-дерева, рыхлый листовой уровень, фрагментация и лишний случайный I/O при чтении. В PostgreSQL 18 появился UUIDv7 — и это хороший повод посмотреть на проблему не на уровне вкусов, а на уровне того, как реально устроены индекс и heap: от корреляции и ctid до статистики страниц и плотности листьев.

https://habr.com/ru/companies/otus/articles/979212/

#UUIDv4 #postgresql #UUIDv7 #PostgreSQL_18 #первичный_ключ #Btree_индекс #фрагментация_индекса #локальность_данных

Более глубокий взгляд на старый UUIDv4 и новый UUIDv7 в PostgreSQL 18

TL;DR UUIDv4 в роли PK даёт случайные вставки → чаще приводит к page split → фрагментированный B-tree и более хаотичный доступ к heap, что бьёт по вставкам и чтению. UUIDv7 в PostgreSQL 18 ( uuidv7()...

Хабр

Just published a new article on how to use UUIDv7 today with Python 3.14, Django 5.2 and PostgreSQL 18 🐍

I walk through Python generation, Django models, db_default, PostgreSQL functions, GeneratedField and even UUIDv47 for safer public IDs 🤖

Hope it's useful! 🙂

👉 https://www.paulox.net/2025/11/14/how-to-use-uuidv7-in-python-django-and-postgresql/

#Python #Django #PostgreSQL #UUIDv7 #UUIDv47 #Python314 #Django52 #Postgres18

How to use UUIDv7 in Python, Django and PostgreSQL

Learn how to use UUIDv7 today with stable releases of Python 3.14, Django 5.2 and PostgreSQL 18. A step by step guide showing how to generate UUIDv7 in Python, store them in Django models, use PostgreSQL native functions and build time ordered primary keys without writing SQL.

Paolo Melchiorre

Just published a new How-to guide on installing PostgreSQL 18 on Ubuntu 25.10 (Questing Quokka). 🦫

Learn how to switch from the default PostgreSQL 17 to version 18 and try new features like UUIDv7 using the official PGDG repository: fast, clean, and developer-friendly setup. 🐘

https://www.paulox.net/2025/10/31/install-postgresql-18-on-ubuntu-25-10-questing-quokka/

CC @postgresql

#PostgreSQL #Ubuntu #Linux #Python #Django #UUID #UUID7 #UUIDv7

Install PostgreSQL 18 on Ubuntu 25.10

How-to guide for installing PostgreSQL version 18 on Ubuntu, after a fresh installation of version 25.10 (Questing Quokka).

Paolo Melchiorre