Может видеть таблицы в 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;