Skip to content

Overview

pg_auto_mv is a pure SQL PostgreSQL extension. It has no compiled C code and no background worker of its own. All refresh execution is handled by the pg_relay Processor, which must already be running and connected to the same database before pg_auto_mv is installed.

On a self-managed PostgreSQL installation, pg_auto_mv is installed with CREATE EXTENSION pg_auto_mv after pg_relay is installed. On a managed cloud database service, this is not possible — cloud providers do not permit installing arbitrary third-party extensions from the filesystem.

This guide explains the workaround — which is straightforward and works on all managed services — and provides step-by-step setup instructions for:

  • AWS RDS for PostgreSQL
  • AWS Aurora for PostgreSQL
  • Azure Database for PostgreSQL Flexible Server
  • Google Cloud SQL for PostgreSQL
  • Other managed services — DigitalOcean, Neon, Railway, Render, Supabase, and similar platforms

Because pg_auto_mv is pure SQL and because the pg_relay Processor is already deployed as part of the pg_relay setup, installing pg_auto_mv on a cloud service is simpler than installing pg_relay: there is no binary to deploy or configure, no service to start, and no additional compute to provision.