Skip to content

Why the Extension Can't Just Be Installed

Managed cloud PostgreSQL services do not let you place files on the server's own filesystem. The standard PostgreSQL extension mechanism (CREATE EXTENSION) needs a .control file and a SQL file to already exist in the server's extension directory — a path you cannot write to on any managed service.

pg_relay is a pure SQL extension — it contains no compiled C code. This means the whole extension can be deployed by running its SQL files directly against the database, in your own client session. The result is functionally identical to CREATE EXTENSION pg_relay: the same schema, tables, functions, triggers, roles, and permissions are created, bringing you to the current version, 1.1. The only operational differences are:

CREATE EXTENSION Manual SQL deployment
Installation CREATE EXTENSION pg_relay CREATE SCHEMA pgrelay + run the base script, then the upgrade script that brings it to 1.1
Removal DROP EXTENSION pg_relay DROP SCHEMA pgrelay CASCADE; DROP ROLE pgrelay;
Upgrade ALTER EXTENSION pg_relay UPDATE Apply the updated SQL file manually
Extension catalogue Appears in pg_extension Does not appear in pg_extension

Everything else — channels, event processing, the audit log, the durable queue, every management function — works identically either way.


Continue to Platform Summary for an at-a-glance comparison of every supported provider.