ฉันสามารถทำซ้ำข้อผิดพลาดของคุณหากฉันใช้ Postgres v.12 และลูกค้าเก่า (v.11 หรือก่อนหน้า):
[root@def /]# psql -h 172.17.0.3
psql (11.5, server 12.0)
WARNING: psql major version 11, server major version 12.
Some psql features might not work.
Type "help" for help.
postgres=# create table mytable (id int, name text);
CREATE TABLE
postgres=# table mytable;
id | name
----+------
(0 rows)
postgres=# \d mytable;
ERROR: column c.relhasoids does not exist
LINE 1: ...riggers, c.relrowsecurity, c.relforcerowsecurity, c.relhasoi...
^
postgres=#
นี่เป็นเพราะใน v. 12 OID ของตารางจะไม่ถือว่าเป็นคอลัมน์พิเศษอีกต่อไปดังนั้นrelhasoidsคอลัมน์จึงไม่จำเป็นอีกต่อไป โปรดตรวจสอบให้แน่ใจว่าคุณใช้psqlไบนารี่v. 12 ดังนั้นคุณจะไม่พบข้อผิดพลาดนี้
คุณอาจไม่จำเป็นต้องใช้psqlดังนั้นคำตอบทั่วไปเพิ่มเติมที่นี่คือเพื่อให้แน่ใจว่าคุณใช้ไคลเอ็นต์ที่เข้ากันได้