Невозможно просто использовать имя таблицы PostgreSQL (& ldquo; отношение не существует & rdquo;)

Предполагая, что вы хотите, чтобы они были равномерно распределены, и предполагая, что вы не хотите повторений

addends = []
picks = range(1, 34)
while sum(addends) != 40:
    addends = random.sample(picks, 3)
    if sum(addends) > 39:
        continue
    addends.append(40 - sum(addends))
145
задан a_horse_with_no_name 21 February 2018 в 06:56
поделиться

1 ответ

Из того, что я читал, эта ошибка означает, что Вы не ссылаетесь на имя таблицы правильно. Одна общая причина состоит в том, что таблица определяется с написанием смешанного случая, и Вы пытаетесь запросить ее со всем нижним регистром.

Другими словами, следующие сбои:

CREATE TABLE "SF_Bands" ( ... );

SELECT * FROM sf_bands;  -- ERROR!

Используйте двойные кавычки для разграничивания идентификаторов, таким образом, можно использовать определенный смешанный случай, записывающий, поскольку таблица определяется.

SELECT * FROM "SF_Bands";

Ре Ваш комментарий, можно добавить схему к "search_path" так, чтобы при ссылке на имя таблицы, не квалифицируя его схему запрос соответствовал тому имени таблицы проверенным каждая схема в порядке. Точно так же, как PATH в оболочке или include_path в PHP, и т.д. Можно проверить текущий путь поиска схемы:

SHOW search_path
  "$user",public

Можно изменить путь поиска схемы:

SET search_path TO showfinder,public;

См. также http://www.postgresql.org/docs/8.3/static/ddl-schemas.html

259
ответ дан 23 November 2019 в 21:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: