explaingit

petere/pgbloomagg

Analysis updated 2026-08-03 · repo last pushed 2019-12-28

7PLpgSQLAudience · dataComplexity · 2/5DormantSetup · moderate

TLDR

Adds a bloom filter aggregate function to PostgreSQL, letting you quickly check if an item probably exists in a large dataset without scanning every row.

Mindmap

mindmap
  root((repo))
    What it does
      Fast existence checks
      Maybe or definitely not
      Summarizes large data sets
    Tech stack
      PostgreSQL
      PLpgSQL
      Database extension
    Use cases
      Filter large tables
      Deduplication checks
      Skip expensive lookups
    Audience
      Database admins
      Backend developers
      Data engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Quickly check if a session ID exists in a large user-events table without a full scan.

USE CASE 2

Pre-check whether a value exists before running more expensive database lookups.

USE CASE 3

Filter or deduplicate data in analytics pipelines by skipping known-absent values.

What is it built with?

PostgreSQLPLpgSQL

How does it compare?

petere/pgbloomaggreescalder/agent-memory-supabaseomarish/llm-sql
Stars721
LanguagePLpgSQLPLpgSQLPLpgSQL
Last pushed2019-12-28
MaintenanceDormant
Setup difficultymoderatemoderatemoderate
Complexity2/53/54/5
Audiencedatadeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

The README is empty so you must read the PL/pgSQL source files directly to figure out installation and usage.

No license information is provided in the README, so default copyright restrictions may apply.

In plain English

The README doesn't go into detail, but the repository name and description tell the core story: pgBloom adds a "bloom filter aggregate function" to PostgreSQL databases. In practical terms, this is a tool that lets a database quickly figure out whether something is probably present in a large set of data, or definitely not present, without scanning every single row. That can make certain queries much faster, especially when you are working with large tables and just need a fast yes-or-no answer. A bloom filter is a compact data structure that trades certainty for speed and space. Instead of storing the actual data, it stores a small summary that can answer "is this item in the set?" with either "maybe" or "definitely not." When you use it as a database aggregate function, you can build this summary across many rows at once. This is useful for tasks like filtering, deduplication, or pre-checking whether a value exists before doing more expensive lookups. The tradeoff is that a bloom filter can occasionally produce a false positive (saying something is present when it actually isn't), but it will never miss something that is genuinely there. The people who would reach for this are database administrators, backend developers, or data engineers working with PostgreSQL at scale. For example, if you have a large user-events table and want to quickly check whether a particular session ID has ever appeared, a bloom filter can give you a fast answer without scanning millions of rows. It is also useful in analytics pipelines or caching layers where you want to skip unnecessary work. The project is written in PL/pgSQL, which is PostgreSQL's built-in procedural language. Since the README is otherwise empty, the best way to understand how to install and use it would be to look at the code files in the repository directly.

Copy-paste prompts

Prompt 1
Help me install the pgBloom bloom filter aggregate function in my PostgreSQL database by reading the repository code files.
Prompt 2
Write a SQL query using a bloom filter aggregate to check if a specific session ID probably exists in my large user-events table without scanning every row.
Prompt 3
Explain how to use a bloom filter aggregate function in PostgreSQL for deduplication and show me an example query that skips expensive lookups for values already known to be absent.

Frequently asked questions

What is pgbloomagg?

Adds a bloom filter aggregate function to PostgreSQL, letting you quickly check if an item probably exists in a large dataset without scanning every row.

What language is pgbloomagg written in?

Mainly PLpgSQL. The stack also includes PostgreSQL, PLpgSQL.

Is pgbloomagg actively maintained?

Dormant — no commits in 2+ years (last push 2019-12-28).

What license does pgbloomagg use?

No license information is provided in the README, so default copyright restrictions may apply.

How hard is pgbloomagg to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is pgbloomagg for?

Mainly data.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.