pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Subject: Re: Add primary keys to system catalogs
Date: Fri, 16 Jul 2021 20:18:43 +0200
Message-ID: <8703bbf8-bcb6-c440-f3e0-e3fcee382f49@enterprisedb.com> (raw)
In-Reply-To: <dc5f44d9-5ec1-a596-0251-dadadcdede98@2ndquadrant.com>
References: <dc5f44d9-5ec1-a596-0251-dadadcdede98@2ndquadrant.com>

On 03.10.20 08:40, Peter Eisentraut wrote:
> I saw someone ask once for a schema diagram of the system catalogs. 
> Things like that have occasionally been produced manually, but they are 
> not regularly updated.  That made me wonder, why can't we add primary 
> and foreign keys to system catalogs and then have existing tools produce 
> such a schema diagram automatically?

Given that these prerequisites have been accomplished in PostgreSQL 14, 
I went back and made a little tool to convert the foreign-key 
relationship information into a graphviz representation.  The result 
turns out to be pretty unwieldly and probably not something easily 
suitable for the documentation; maybe someone wants to fine-tune the 
graphviz settings to get a better view.  My tool is at 
<https://github.com/petere/pgcatviz;.  Attached is a sample output.

Attachments:

catalog.svg (image/svg+xml, 172.0K) download view image

view thread (39+ messages)

Message-ID: <8703bbf8-bcb6-c440-f3e0-e3fcee382f49@enterprisedb.com>
Permalink:  ../8703bbf8-bcb6-c440-f3e0-e3fcee382f49@enterprisedb.com/
Also on:    postgresql.org/message-id/8703bbf8-bcb6-c440-f3e0-e3fcee382f49@enterprisedb.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: peter.eisentraut@enterprisedb.com
  Subject: Re: Add primary keys to system catalogs
  In-Reply-To: <8703bbf8-bcb6-c440-f3e0-e3fcee382f49@enterprisedb.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox