Click any tag below to further narrow down your results
Links
A practical guide to what's actually changing in PostgreSQL 19, covering six compatibility breaks you need to know before upgrading and four SQL features worth using once you do. The author tested everything against Beta 3 and explains what each change means for your workload.
- Six breaking changes ship in PG 19: JIT disabled by default, standard_conforming_strings forced on, RADIUS auth removed, MD5 warnings enabled, inet/cidr GiST indexes rebuilt, and max_locks_per_transaction doubled—most are silent behavior shifts that break things only if you don't know to look.
- FOR PORTION OF lets you split and update a time-bounded row in one statement instead of hand-rolling UPDATE then INSERT, useful for temporal data like contract period changes.
- INSERT ... ON CONFLICT DO SELECT returns the conflicting row directly without a separate query, solving the common pattern of "upsert and fetch back the row" in registration flows and dedup-on-write pipelines.
- Window functions now support IGNORE NULLS to skip over NULL values and find the nearest actual value, replacing workarounds like window frame tricks or separate counters.
Linear moved its React apps from styled-components to StyleX to cut runtime style generation and boost render performance. They built a 100k-line codemod, used scoped agents, and enforced stricter styling contracts to avoid cascading overrides and ensure predictable styles.
- Linear built a 100k-line codemod (styled-components-to-stylex) across 500+ PRs to migrate from styled-components to StyleX
- Migrating 58% of files so far yielded roughly 30% faster page-to-page renders
- StyleX's strict rules (no parent-dependent selectors, no external overrides) trade CSS flexibility for predictable, build-time-extracted styles
- Styled-components stalled in maintenance mode by not adopting React 18's useInsertionEffect, pushing Linear toward alternatives like vanilla-extract and StyleX