psql "\d" no longer working
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.
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 80but 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
On 2/12/23 01:24, Georg H. wrote:
Hello Rob,
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.
That would be 11 and below.
kind regards
Georg
--
Adrian Klaver
adrian.klaver@aklaver.com
On 2/12/23 03:02, Rob Sargent wrote:
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 80but 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.
What is your search_path set to?
--
Born in Arizona, moved to Babylonia.
On 2/12/23 08:49, Ron wrote:
On 2/12/23 03:02, Rob Sargent wrote:
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 80but 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.
What is your search_path set to?
I doubt that is the problem as the issue is the column in the table not
finding the table. pg_class.relhasoids no longer exists 12+, so the post
from Georg is probably pointing in the right direction.
--
Born in Arizona, moved to Babylonia.
--
Adrian Klaver
adrian.klaver@aklaver.com
I doubt that is the problem as the issue is the column in the table
not finding the table. pg_class.relhasoids no longer exists 12+, so
the post from Georg is probably pointing in the right direction.
Ah, yes. My client machine at compute centre has to be told to put
version 14 on the path. My session there got axed/restarted and I left
that part out.
Thanks a ton.
rjs