Skip to content

SQL-first Polyglot

Our first choice of languages for writing data-centric micro services should be:

In case SQL or PL/pgSQL is not appropriate:

  • PL/Rust, PL/Java, PL/Go, PL/Deno or other type-safe PostgreSQL-hosted language should be prioritized.
  • If type-safety is not possible or 3rd party libraries access is more important than type-safety then PL/Python, PL/Perl, and other languages should be considered.
    • When using PL/Python or other language with package managers, consider using guidance such as programmatic access to PIP modules so that PostgreSQL server admins are not required for administering module dependencies
  • The choice of language should depend on how easy the functionality can be expressed using Postgraphile Schema Design.

Cut Out the Middle Tier: Generating JSON Directly from Postgres is a good HN discussion about the benefits and pitfalls of the PgDCP approach.