Re: psql "\d" no longer working - Mailing list pgsql-general

From Georg H.
Subject Re: psql "\d" no longer working
Date
Msg-id 4740cc71-31c2-03b8-45fe-5ca4dff72376@silentrunner.de
Whole thread Raw
In response to psql "\d" no longer working  (Rob Sargent <robjsargent@gmail.com>)
Responses Re: psql "\d" no longer working
List pgsql-general

Hello Rob,

Am 12.02.2023 um 10:02 schrieb Rob Sargent:

Seems I've lost the table definition meta-command
riftehr=> \d actual_and_inf_rel_clean_final
ERROR:  column c.relhasoids does not exist
LINE 1: ..., c.relhasindex, c.relhasrules, c.relhastriggers, c.relhasoi...
while listing tables still works
riftehr=> \dt act*
                         List of relations
 Schema |                   Name                    | Type  | Owner
--------+-------------------------------------------+-------+-------
 cell   | actual_and_inf_rel_clean_final            | table | cell
 cell   | actual_and_inf_rel_clean_final_count_rels | table | cell
 cell   | actual_and_inf_rel_part1                  | table | cell
 cell   | actual_and_inf_rel_part1_unique           | table | cell
 cell   | actual_and_inf_rel_part1_unique_clean     | table | cell
 cell   | actual_and_inf_rel_part2                  | table | cell
 cell   | actual_and_inf_rel_part2_unique           | table | cell
 cell   | actual_and_inf_rel_part2_unique_clean     | table | cell
(8 rows)

riftehr=> select version();
                                                 version                                                 
---------------------------------------------------------------------------------------------------------
 PostgreSQL 14.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-16), 64-bit
(1 row)

The server was restarted Friday morning (according to systemctl) and the log file has the complete sql statement:
2023-02-10 13:42:55.214 MST [524159] STATEMENT:  SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relhasoids, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence
        FROM pg_catalog.pg_class c
         LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)
        WHERE c.oid = '219319';
2023-02-10 13:43:01.143 MST [524159] ERROR:  column c.relhasoids does not exist at character 80

but I don't see any other issue in the log file.

I have yet to find another broken meta-command and no sql of mine has failed along similar lines as had "\d"

Any pointers much appreciated.

Check the version of your psql binary. I assume it's below v13.
There was a change in pg_catalog.

Clients below 13 assume, the column is still there.


kind regards

Georg

pgsql-general by date:

Previous
From: Rob Sargent
Date:
Subject: psql "\d" no longer working
Next
From:
Date:
Subject: pg_dump problem with postgres user