schedoc
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
pg_schedoc | 0.0.1 | UTIL | GPL-3.0 | SQL |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 4330 | schedoc | No | No | No | Yes | No | No | - |
| Related | ddl_historization pg_readme_test_extension pg_readme gzip bzip zstd http pg_net pg_curl |
|---|
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.0.1 | 1817161514 | pg_schedoc | ddl_historization |
| RPM | PIGSTY | 0.0.1 | 1817161514 | pg_schedoc_$v | ddl_historization_$v |
| DEB | PIGSTY | 0.0.1 | 1817161514 | postgresql-$v-pg-schedoc | postgresql-$v-ddl-historization |
Build
You can build the RPM / DEB packages for pg_schedoc using pig build:
pig build pkg pg_schedoc # build RPM / DEB packages
Install
You can install pg_schedoc directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:
pig repo add pgsql -u # Add repo and update cache
Install the extension using pig or apt/yum/dnf:
pig install pg_schedoc; # Install for current active PG version
pig ext install -y pg_schedoc -v 18 # PG 18
pig ext install -y pg_schedoc -v 17 # PG 17
pig ext install -y pg_schedoc -v 16 # PG 16
pig ext install -y pg_schedoc -v 15 # PG 15
pig ext install -y pg_schedoc -v 14 # PG 14
dnf install -y pg_schedoc_18 # PG 18
dnf install -y pg_schedoc_17 # PG 17
dnf install -y pg_schedoc_16 # PG 16
dnf install -y pg_schedoc_15 # PG 15
dnf install -y pg_schedoc_14 # PG 14
apt install -y postgresql-18-pg-schedoc # PG 18
apt install -y postgresql-17-pg-schedoc # PG 17
apt install -y postgresql-16-pg-schedoc # PG 16
apt install -y postgresql-15-pg-schedoc # PG 15
apt install -y postgresql-14-pg-schedoc # PG 14
Create Extension:
CREATE EXTENSION schedoc CASCADE; -- requires: ddl_historization
Usage
schedoc: Schema documentation via COMMENT on PostgreSQL objects
Builds automatic documentation from COMMENT on PostgreSQL objects. Requires the ddl_historization extension.
Setup
CREATE EXTENSION schedoc CASCADE;
SELECT schedoc_start();
Adding Column Documentation
Set comments on columns in JSON format with predefined fields:
COMMENT ON COLUMN my_table.id IS '{"status": "private"}';
COMMENT ON COLUMN my_table.email IS '{"status": "public"}';
COMMENT ON COLUMN my_table.name IS '{"status": "internal"}';
Querying Documentation
Query the parsed column comments:
SELECT * FROM schedoc_column_comments;
Result:
databasename | tablename | columnname | status
--------------+-----------+------------+---------
mydb | my_table | id | private
mydb | my_table | email | public
mydb | my_table | name | internal
Use Case
Cross-reference column metadata with other systems (e.g., Django db_comment, DBT docs) to define data contracts between developers and data analysts.
Feedback
Was this page helpful?
Thanks for the feedback! Please let us know how we can improve.
Sorry to hear that. Please let us know how we can improve.