2015-03-16 3 views
1

Я понимаю, что на этот вопрос был дан ответ, прежде всего, in this post; однако решение в моем случае не работает. Я могу успешно получить доступ к моей базе данных и таблице через команду «/ d» в утилите командной строки psql. Но я получаю ошибку «Не находил никакой связи с именем» при попытке изучить значение поля с именем question в моей таблице.Почему postgres не распознает мои поля таблицы?

enter image description here

Почему PSQL не признает существование поля вопроса?

+0

это '\ d' не'/d' – Kokizzu

+3

Почему ссылка на скриншоте, когда вы можете вставить в фактический текст с вашего терминала окно? –

ответ

1

Колонна question не table, view, sequence, or index имя, так что он не будет появляться при вызове с помощью \d ..

Что вы должны сделать, это SELECT question FROM post;

3

Почему не Postgres распознает таблицу поля?

Не обвиняйте PostgreSQL, так как ошибка является вашей. Вы правильно поняли команды команд psql.

не нашли никакого отношения под названием "вопрос"

Да, правильно сказал PostgreSQL.

в PostgreSQL realtions являются таблицы, просмотров, последовательности, индекс но колонка является не отношение

  • Используйте \d списки всех отношений (таблицы, виды, последовательности, индекс) в вашей базе данных.

В вашем случае \d post (post is a table(note: a relation)) будет структура возвращает таблицы, но \d question является НЕПРАВИЛЬНО (потому что question не является отношением, это столбец), поэтому вы должны использовать ВЫБРАТЬ.

т.е. SELECT question FROM post

List Of `\d` commands 
---------------------- 
\dt - Tables 
\dv - View 
\di - Index 
\df - function 

Подробнее @http://www.faqs.org/docs/ppbook/c4890.htm

Смежные вопросы