{"adoption": {"forks": 114, "observed_at": "2026-08-28T04:05:12.852028+00:00", "stars": 1625}, "canonical_url": "https://ross.abutalabs.com/products/pg_lake", "card": {"archived": false, "artifact_type": "library", "description": "pg_lake: Postgres with Iceberg and data lake access", "domain": ["databases", "big-data", "analytics", "developer-tools"], "enriched": true, "function": ["database", "database-driver", "etl", "geospatial", "search-engine"], "health_score": 100, "homepage": "https://github.com/Snowflake-Labs/pg_lake/blob/main/docs/README.md", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["Snowflake-Labs/pg_lake"], "name": "Snowflake-Labs/pg_lake", "platform": ["self-hosted", "python"], "pushed_at": "2026-08-26T19:44:10+00:00", "repo": "Snowflake-Labs/pg_lake", "stars": 1625, "tags": ["iceberg", "lakehouse", "postgres-extension", "duckdb", "parquet", "s3", "object-storage", "sql", "data-engineering", "linux", "macos", "docker"], "topics": [], "urls": [], "use_cases": ["query parquet files in s3 from postgres", "create and manage iceberg tables with sql", "build a postgres lakehouse with transactional guarantees", "import csv and  files from object storage into postgres tables", "export query results to parquet in s3", "read geo and shapefiles with sql", "run dbt models on iceberg tables", "combine local tables and external data lake files in one query"], "what_it_is": "pg_lake is a set of PostgreSQL extensions that turn Postgres into a lakehouse engine for Apache Iceberg tables and raw data lake files in object stores like S3. It combines Postgres transactions with DuckDB's query engine to query, import, and export Parquet, CSV, JSON, Iceberg, and geospatial formats using plain SQL.", "when_to_avoid": ["you need a managed cloud lakehouse service rather than self-hosted extensions", "your workload is purely OLTP with no data lake files", "you cannot run additional sidecar processes like pgduck_server", "you require engines other than postgres and duckdb to write your iceberg tables"], "when_to_choose": ["you want iceberg table management and data lake queries without leaving postgres", "you need transactional lakehouse semantics on icebberg tables", "you want duckdb performance behind a postgres interface", "your data lives in s3-compatible object storage in parquet, csv, or"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pg_lake", "repo": "Snowflake-Labs/pg_lake", "role": "main", "score": 82}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.852028+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:48:28.375105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad8fbc102e4d883fe11a44f03c891db53d8a7ff63dd7dff85b388d57a848c874", "fetched_at": "2026-08-28T04:05:12.852028+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake"}, {"content_hash": "3c3fabad2afb9a3b5515a59cd27259cc95ae8e3627deeebd3475aff9bb86efd7", "fetched_at": "2026-08-29T11:21:23.686177+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake/blob/main/docs/README.md"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.852028+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:48:28.375105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad8fbc102e4d883fe11a44f03c891db53d8a7ff63dd7dff85b388d57a848c874", "fetched_at": "2026-08-28T04:05:12.852028+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake"}, {"content_hash": "3c3fabad2afb9a3b5515a59cd27259cc95ae8e3627deeebd3475aff9bb86efd7", "fetched_at": "2026-08-29T11:21:23.686177+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake/blob/main/docs/README.md"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:48:28.375105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad8fbc102e4d883fe11a44f03c891db53d8a7ff63dd7dff85b388d57a848c874", "fetched_at": "2026-08-28T04:05:12.852028+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake"}, {"content_hash": "3c3fabad2afb9a3b5515a59cd27259cc95ae8e3627deeebd3475aff9bb86efd7", "fetched_at": "2026-08-29T11:21:23.686177+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake/blob/main/docs/README.md"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.852028+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.852028+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.852028+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:48:28.375105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad8fbc102e4d883fe11a44f03c891db53d8a7ff63dd7dff85b388d57a848c874", "fetched_at": "2026-08-28T04:05:12.852028+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake"}, {"content_hash": "3c3fabad2afb9a3b5515a59cd27259cc95ae8e3627deeebd3475aff9bb86efd7", "fetched_at": "2026-08-29T11:21:23.686177+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake/blob/main/docs/README.md"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.852028+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.852028+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:48:28.375105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad8fbc102e4d883fe11a44f03c891db53d8a7ff63dd7dff85b388d57a848c874", "fetched_at": "2026-08-28T04:05:12.852028+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake"}, {"content_hash": "3c3fabad2afb9a3b5515a59cd27259cc95ae8e3627deeebd3475aff9bb86efd7", "fetched_at": "2026-08-29T11:21:23.686177+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake/blob/main/docs/README.md"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.852028+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.852028+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.852028+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:48:28.375105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad8fbc102e4d883fe11a44f03c891db53d8a7ff63dd7dff85b388d57a848c874", "fetched_at": "2026-08-28T04:05:12.852028+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake"}, {"content_hash": "3c3fabad2afb9a3b5515a59cd27259cc95ae8e3627deeebd3475aff9bb86efd7", "fetched_at": "2026-08-29T11:21:23.686177+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake/blob/main/docs/README.md"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.852028+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:12.852028+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:48:28.375105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad8fbc102e4d883fe11a44f03c891db53d8a7ff63dd7dff85b388d57a848c874", "fetched_at": "2026-08-28T04:05:12.852028+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake"}, {"content_hash": "3c3fabad2afb9a3b5515a59cd27259cc95ae8e3627deeebd3475aff9bb86efd7", "fetched_at": "2026-08-29T11:21:23.686177+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake/blob/main/docs/README.md"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:48:28.375105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad8fbc102e4d883fe11a44f03c891db53d8a7ff63dd7dff85b388d57a848c874", "fetched_at": "2026-08-28T04:05:12.852028+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake"}, {"content_hash": "3c3fabad2afb9a3b5515a59cd27259cc95ae8e3627deeebd3475aff9bb86efd7", "fetched_at": "2026-08-29T11:21:23.686177+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake/blob/main/docs/README.md"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:48:28.375105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad8fbc102e4d883fe11a44f03c891db53d8a7ff63dd7dff85b388d57a848c874", "fetched_at": "2026-08-28T04:05:12.852028+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake"}, {"content_hash": "3c3fabad2afb9a3b5515a59cd27259cc95ae8e3627deeebd3475aff9bb86efd7", "fetched_at": "2026-08-29T11:21:23.686177+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake/blob/main/docs/README.md"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:48:28.375105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad8fbc102e4d883fe11a44f03c891db53d8a7ff63dd7dff85b388d57a848c874", "fetched_at": "2026-08-28T04:05:12.852028+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake"}, {"content_hash": "3c3fabad2afb9a3b5515a59cd27259cc95ae8e3627deeebd3475aff9bb86efd7", "fetched_at": "2026-08-29T11:21:23.686177+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/Snowflake-Labs/pg_lake/blob/main/docs/README.md"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 21, "rhythm": 95}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 302, "days_push": 7, "days_rel": 36, "gap_med": 8.0, "n_releases_24m": 11}, "score": 82, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}