Pillola: quali sono le tabelle master nel mio database?

A volte può essere necessario interrogare il catalogo per scoprire quali sono le tabelle master in un particolare database PostgreSQL.

L’ereditarietà in PostgreSQL consente di creare relazioni di tipo IS molto simile ai concetti tipici dell’OO riguardanti le classi. La tecnica è particolarmente usata per il partizionamento.

Una volta collegati a PostgreSQL, è sufficiente digitare la seguente query SQL:


SELECT DISTINCT relname FROM pg_inherits JOIN pg_class ON (oid = inhparent);

Espandendo la query, possiamo anche contare quante tabelle derivano dalla master, ordinandole per nome:


SELECT relname, count(*) FROM pg_inherits JOIN pg_class ON (oid = inhparent) GROUP BY 1 ORDER BY 1;

Buon divertimento!

This Post Has 0 Comments

Leave A Reply