pglayers: imágenes Docker de PostgreSQL con extensiones preinstaladas y componibles

Fuentes: pglayers: pre-built PostgreSQL Docker images with composable extension layers

pglayers es una distribución de PostgreSQL y, al mismo tiempo, una herramienta para construir imágenes Docker personalizadas que añaden al contenedor oficial postgres exactamente las extensiones que el usuario necesita, sin compilar código fuente ni gestionar dependencias. Cada extensión se publica como una capa Docker mínima que contiene solo sus binarios y se superpone a la imagen oficial mediante COPY --from, una línea por extensión.

El proyecto ofrece dos perfiles listos para usar: pglayers-full, con 53 extensiones y shared_preload_libraries ya configurado, y pglayers-azure, con 28 extensiones orientadas a reproducir localmente el entorno de Azure Database for PostgreSQL. Ambos perfiles están disponibles para PostgreSQL 17, 18 y 19 (este último en fase beta). El catálogo incluye piezas muy demandadas como pgvector (búsqueda por similitud de vectores), PostGIS, pg_cron, Apache AGE, pg_graphql, pgvector, pg_duckdb, pgaudit, pg_partman, pg_repack, pg_squeeze, pgsodium, pgvector y plpgsql_check, entre otras.

El flujo de trabajo consiste en escribir un Dockerfile que parte de postgres:17 y apila las capas deseadas; al construir la imagen, Docker descarga las capas precompiladas desde el registro ghcr.io/pglayers y las superpone. No hay compilación local, lo que reduce tiempos y simplifica la portabilidad. Los autores subrayan que los perfiles de proveedores son aproximaciones para desarrollo y pruebas locales, no sustitutos del servicio gestionado real, ya que pueden diferir en versiones de extensiones y configuración. PostgreSQL 17 y 18 se consideran estables; 19 se mantiene como experimental hasta su lanzamiento oficial.