Skip to main content

Installation

Requirements

PostgreSQL 17. That is what CI builds and tests on every commit. The code depends on Query->rteperminfos, which is PostgreSQL 16+, so 16 will probably work — but "probably" is not "tested", so it is not claimed.

You need to be able to install extensions in the target database. On RDS, Cloud SQL and most managed Postgres you cannot; see Credit for the tool that works there.

Docker

The fastest way to get a server with the extension already loaded:

git clone https://github.com/sajonaro/pg_describe
cd pg_describe
docker compose up -d # PGPORT=5433 docker compose up -d if 5432 is taken

The image builds the extension and runs CREATE EXTENSION in the demo database and in template1, so databases created later inherit it.

PGXN

pgxn install pg_describe

Then, in each database that needs it:

CREATE EXTENSION pg_describe;

From source

Building needs the PostgreSQL server headers and a C compiler:

DistributionPackage
Debian / Ubuntupostgresql-server-dev-17
RHEL / Fedorapostgresql17-devel

The Makefile is standard PGXS, so it builds against whatever pg_config is on your PATH:

make
sudo make install
CREATE EXTENSION pg_describe;

To run the regression suite against a server you control:

PGUSER=postgres PGDATABASE=contrib_regression make installcheck

The TypeScript generator

pg-describe-gen is published separately on npm and needs Node 18+ and a database with the extension installed:

npm install --save-dev pg-describe-gen

See CLI usage and configuration.