#Postgres extended #SQL with infix operators for #JSON
on 02026-05-27#Postgres’s #SQL dialect has something called “lateral joins”, used here to slightly ease the creation of a Haskell embedded DSL. #toread
on 02026-04-29#Postgres has a skip locked #SQL clause for things like work #queues
#Postgres supports as embedded procedural languages C#, F# (and other #dotnet languages), Haskell, Java, JS, Julia, LOLCODE, Lua, Perl, PHP, PL/pgSQL, Python, R, Ruby, Rust, Scheme (unmaintained), shell, Tcl, and XSLT. #SQL
on 02025-09-01#Postgres (and probably other #databases) had a big bug with #fsync on #Linux (and OpenBSD and NetBSD) in 02018 (and for many years before that): disk write errors (usually caused by USB drive hotunplug) would discard the data that failed to be written and never report the error, even on fsync(), though since kernel 4.13 the error is only lost if the file is closed by the writer and reopened before calling fsync(). So Postgres, and I guess anything else that cares about recovering from I/O errors, has to move to direct I/O (DIO), which seems to mean O_DIRECT. dmsetup has error and flakey targets to simulate disk errors.
#Postgres SQL extension “COPY” for faster #ETL
on 02017-05-19#PDF slides on the reasons Uber switched from #Postgres to #MySQL, blaming Uber for most of the problems
on 02017-04-29#Tutorial on using #Postgres from Python
on 02017-04-26explain.depesz.com is a visualizer for #Postgres #database query plans and explain analyze results
how to get #Postgres to come up with decent #database query plans by setting planner parameters like join_collapse_limit and random_page_cost.
on 02017-04-26Discussion of #time-series #databases from 2014. Many people recommend #Postgres for under 10 billion items.
on 02015-08-10How #Postgres implements updatable non-materialized views #SQL
on 02015-08-05how #Postgres implements (non-materialized) views in #SQL
on 02015-08-05