peepshow/sinks/postgres

Reel #02Team SQL archive

peepshow sink / postgres

PostgresFull-blown SQL archive with auto-schema creation.

Write every run + frame into Postgres. Idempotent upserts, transactional, cloud-friendly.

What it does

For teams: archive every peepshow run into shared Postgres. Auto-creates the tables on first write, uses transactions for atomicity, supports standard `DATABASE_URL` or split credentials.

When to reach for it

  • Centralise every video an agent has processed across your team
  • Join peepshow metadata with app tables — link a run to a user, a ticket, a release
  • Pair with the pgvector sink on the same database for a single-source video+vectors store

Install

npm i -g peepshow
npm i -g pg

Use it

DATABASE_URL=postgres://user:pass@host:5432/db \
peepshow ./demo.mp4 --sink postgres

Make it automatic

Register the sink once — every run fires it afterward. Scope by--whenso it only runs for matching videos.

peepshow sinks add postgres
peepshow sinks add postgres --when extension=mp4,mov
peepshow sinks add postgres --when path=/Volumes/Work/

Configuration

  • DATABASE_URLFull connection string. Preferred.required
  • PGHOST / PGUSER / PGPASSWORD / PGDATABASE / PGPORTSplit credentials if no DATABASE_URL.
  • PEEPSHOW_POSTGRES_SCHEMASchema name. Default `peepshow`.

Write your own

A sink is any executable that reads the--emit jsonpayload on stdin. Shell, Node, Python, Go — the spec's indocs/PLUGINS.md. Register persistent ones withpeepshow sinks add-cmd 'your-command'.