From: | Ron Johnson <ronljohnsonjr(at)gmail(dot)com> |
---|---|
To: | Pgsql-admin <pgsql-admin(at)lists(dot)postgresql(dot)org> |
Subject: | Re: PostgreSQL Database 'Information' Script - is there one out there? |
Date: | 2025-01-30 14:20:04 |
Message-ID: | CANzqJaAvQ2eLeVzQ48PpHRDC9BcFXDj8z1YnhLDqGAXKbMK4dg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
On Thu, Jan 30, 2025 at 7:14 AM Edwin UY <edwin(dot)uy(at)gmail(dot)com> wrote:
> Hi,
>
> Does anyone know of any existing script/s out there somewhere that
> generates some kind of database/instance inventory, like listing of what
> databases exist (\l), schema (\dn) in each databases, extensions (\dx),
> user lists (\du), replication slots, tables, views, parameter
> default/non-default settings etc?
> Maybe there is already one out there, either a shell script or a SQL
> script that I can just run from psql and save the output to file.
> At the moment, running manually via psql running \l, running \c to each DB
> and running \dn, didn't realize I have to run \dn on each database :(, and
> running select statements from pg_tables and so on.
>
Why not put everything you currently do in a shell script?
For per-database commands, something like this:
export PGHOST=mumble
export PGUSER=postgres
DbList=`psql -AXtc "select datname from pg_database
where datistemplate=false and datname <> 'postgres'
order by datname ;"`
for DB in $DbList;
do
psql -h $DB -ac '\dn'
psql -h $DB -ac 'SELECT ... FROM pg_tables WHERE ...;'
done
--
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!
From | Date | Subject | |
---|---|---|---|
Next Message | MichaelDBA | 2025-01-30 14:37:15 | Re: PostgreSQL Database 'Information' Script - is there one out there? |
Previous Message | Samuel VISCAPI | 2025-01-30 14:14:32 | RE: 2nd PostgreSQL server in WAL shipping cluster fails to start |