| From: | Stephen Frost <sfrost(at)snowman(dot)net> |
|---|---|
| To: | Melvin Davidson <melvin6925(at)gmail(dot)com> |
| Cc: | Edson Carlos Ericksson Richter <richter(at)simkorp(dot)com(dot)br>, pgsql-general(at)lists(dot)postgresql(dot)org |
| Subject: | Re: Does PostgreSQL check database integrity at startup? |
| Date: | 2017-12-30 02:07:06 |
| Message-ID: | 20171230020706.GD2416@tamriel.snowman.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Greetings,
* Melvin Davidson (melvin6925(at)gmail(dot)com) wrote:
> >There should be a "catalog" that point where tables are stored in physical
> files...
>
> Here is the query that gives you that information.
>
> SELECT c.oid,
> n.nspname as schema,
> c.relname as table,
> (SELECT oid FROM pg_database WHERE datname =
> current_database() ) as db_dir,
> c.relfilenode as filename
> FROM pg_class c
> JOIN pg_namespace n ON (n.oid = c.relnamespace)
> WHERE relname NOT LIKE 'pg_%'
> AND relname NOT LIKE 'information%'
> AND relname NOT LIKE 'sql_%'
> AND relkind = 'r'
> ORDER BY 2, relname;
This isn't a terribly good query- it's entirely valid to have 'pg_blah'
and 'informationblah' tables in user schemas. If you'd like to filter
out the catalogs/internal schemas, filter based on schema name instead.
Also, this doesn't actually provide what Edson is asking for. Edson's
asking for a query that uses pg_ls_dir() or some custom function which
will run 'stat' on each file and return the size, according to the OS.
Thanks!
Stephen
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Melvin Davidson | 2017-12-30 02:14:22 | Re: Does PostgreSQL check database integrity at startup? |
| Previous Message | Melvin Davidson | 2017-12-30 02:03:10 | Re: Does PostgreSQL check database integrity at startup? |