Я пытаюсь создать команду TABLE в Postgresql. После создания таблицы, если я ввожу имя таблицы TABLE , это работает.
Но я ввожу \ d имя таблицы , я получаю сообщение об ошибке ниже.
ERROR: column c.relhasoids does not exist
LINE 1: ...riggers, c.relrowsecurity, c.relforcerowsecurity, c.relhasoi...
Я попытался DROP DATABASE имя таблицы воссоздал базу данных и пересоздал таблицу снова несколько раз. Но это не сработало.
Мы ценим любые предложения! Спасибо.
postgresql
Нао
источник
источник
Ответы:
Я могу воспроизвести вашу ошибку, если я использую Postgres v.12 и более старый клиент (v.11 или более раннюю версию):
Это связано с тем, что в версии 12 идентификаторы таблиц больше не обрабатываются как специальные столбцы и, следовательно,
relhasoids
столбец больше не нужен. Пожалуйста, убедитесь, что вы используетеpsql
двоичный файл v. 12, чтобы не встретить эту ошибку.Возможно, вы не обязательно используете
psql
, поэтому более общий ответ здесь - убедиться, что вы используете совместимый клиент.источник
Для тех, кто использует Postgres в качестве контейнера Docker :
Вместо запуска psql с хоста, запустите его из контейнера, например
Postgres изображения всегда поставляется с соответствующим-и , таким образом , всегда обновляется-версии PSQL , поэтому вам не придется беспокоиться о том , правильную версию установленной на хост - машине.
источник
У меня была эта проблема сегодня, я не смог продолжить работу из-за этого, как ни странно, код приложения работает нормально.
Позже обнаружил, что эта проблема возникает только в том случае, если я использую клиент OmniDb, который я использую для подключения к БД.
Я переключил клиент на pgAdmin 4 по умолчанию, который поставляется с установкой postgres, и проблема больше не возникает. PgAdmin 4. Ссылка: https://www.pgadmin.org/download/pgadmin-4-windows/
Вполне возможно, что клиент OmniDb может быть старше, но нет времени для его устранения, пока что используется pgAdmin 4.
Надеюсь, это поможет.
источник
У меня сегодня тоже была такая же проблема. В моем случае проблема была решена, когда я удалил версию 12 и установил версию 11. Кажется, что v12 имеет некоторые функции, которые должны быть созданы вдоль других столбцов.
источник
psql
из своей установки Postgres 11 для подключения к Postgres 12 - вы должны были использоватьpsql
для Postgres 12У меня такая же проблема. Но я нашел решение, загрузив последнюю сборку 14/10/2019. Перейдите по ссылке: https://postbird.paxa.kuber.host/2019_10_14.06_42-master-7a9e949.
Я надеюсь, что это помогает
источник