Может видеть таблицы в phpPgAdmin, но не в psql (или любом другом методе)

Я недавно установил postgres на мой Mac и загрузил дамп с нашего общедоступного веб-сайта, который я пытаюсь скопировать локально. Pg_restore оказался успешным, и я вижу все свои таблицы и права пользователей в phpPgAdmin. Все они выглядят нормально, и я могу просматривать данные. Однако, когда я получаю доступ к базе данных через psql, я не получаю никаких отношений. Точно так же у меня есть скрипты Python, которые обращаются к этой базе данных, и они также не могут найти какие-либо таблицы.

Я в растерянности относительно того, что делать.

Вот некоторые команды psql, которые я сделал:

> psql -U mgd_dbo pub_mgd
psql (9.3.4)
Type "help" for help.

pub_mgd=# \d
No relations found.
pub_mgd=# \l
                                List of databases
    Name    |   Owner    | Encoding |     Collate      | Ctype |    Access privileges    
------------+------------+----------+------------------+-------+-------------------------
 postgres   | postgres   | UTF8     | C                | C     | =CTc/postgres          +
            |            |          |                  |       | postgres=CTc/postgres  +
            |            |          |                  |       | mgd_dbo=CTc/postgres   +
            |            |          |                  |       | mgd_public=CTc/postgres
 pub_fe     | postgres   | LATIN9   | en_US.ISO8859-15 | C     | =CTc/postgres          +
            |            |          |                  |       | postgres=CTc/postgres  +
            |            |          |                  |       | mgd_dbo=CTc/postgres   +
            |            |          |                  |       | mgd_public=CTc/postgres
 pub_mgd    | postgres   | LATIN9   | en_US.ISO8859-15 | C     | =CTc/postgres          +
            |            |          |                  |       | postgres=CTc/postgres  +
            |            |          |                  |       | mgd_dbo=CTc/postgres   +
            |            |          |                  |       | mgd_public=CTc/postgres
 template0  | postgres   | UTF8     | C                | C     | =c/postgres            +
            |            |          |                  |       | postgres=CTc/postgres
 template1  | postgres   | UTF8     | C                | C     | =c/postgres            +
            |            |          |                  |       | postgres=CTc/postgres
(5 rows)

pub_mgd=# \dn+
                          List of schemas
  Name  |  Owner   |  Access privileges   |      Description       
--------+----------+----------------------+------------------------
 mgd    | mgd_dbo  | mgd_dbo=UC/mgd_dbo  +| 
        |          | mgd_public=U/mgd_dbo | 
 public | postgres | postgres=UC/postgres+| standard public schema
        |          | =UC/postgres         | 
(2 rows)

pub_mgd - это база данных, которую я загрузил. mgd_public и mgd_dbo - это два разных пользователя, которых используют наши скрипты (mgd_public - только для чтения). Я пробовал обоих пользователей, и даже как пользователь postgres. Тем не менее, результаты одинаковы, никаких отношений.

Я даже пытался проверить, не был ли phpPgAdmin каким-либо образом работать с другим сервером postgres, поэтому я добавил через него новую базу данных и убедился, что новая база данных появляется, когда я выполняю \ l в psql.

Любые предложения относительно того, что проверить дальше?

1 ответ

Решение

Спросите список отношений в mgd схема

\d mgd.*

Чтобы сделать mgd схема по умолчанию поместите его в начало пути поиска

set search_path to mgd, "$user", public;
Другие вопросы по тегам