У нас кто-нибудь разбирается в Postgres?
Создал базу, создал пользователя, дал ему права. Все по инструкции к приложению.
CREATE USER ovirt WITH PASSWORD 'qwerty';
CREATE DATABASE ovirt;
GRANT ALL PRIVILEGES ON DATABASE ovirt to ovirt;
Запустил скрипт заполнения базы (он на ruby/rails/rake). Запускаю приложение, но оно не видит своих таблиц.
Подключаюсь к базе и на всякий случай повторяю GRANT.
ovirt=> \c ovirt postgres
Password for user postgres:
psql (8.4.7)
You are now connected to database "ovirt" as user "postgres".
ovirt=# GRANT ALL PRIVILEGES ON DATABASE ovirt to ovirt;
GRANT
Проверяю.
ovirt=# \c ovirt ovirt
Password for user ovirt:
psql (8.4.7)
You are now connected to database "ovirt" as user "ovirt".
ovirt=> select * from pools;
ERROR: permission denied for relation pools
Ы...
Но под postgres я данные вижу.
ovirt=> \c ovirt postgres
Password for user postgres:
psql (8.4.7)
You are now connected to database "ovirt" as user "postgres".
ovirt=# select * from pools;
id | name | type | parent_id | lft | rgt | lock_version | created_at | updated_at | load_average
----+----------+---------------+-----------+-----+-----+--------------+----------------------------+----------------------------+--------------
1 | default | HardwarePool | 3 | 3 | 4 | 0 | 2011-04-15 12:44:09.587008 | 2011-04-15 12:44:09.587008 |
2 | root | DirectoryPool | | 1 | 8 | 0 | 2011-04-15 12:44:09.922922 | 2011-04-15 12:44:09.922922 |
3 | hardware | DirectoryPool | 2 | 2 | 5 | 0 | 2011-04-15 12:44:09.944328 | 2011-04-15 12:44:09.944328 |
4 | users | DirectoryPool | 2 | 6 | 7 | 0 | 2011-04-15 12:44:09.990695 | 2011-04-15 12:44:09.990695 |
(4 rows)
ovirt=# select table_catalog, table_schema, table_name, table_type from information_schema.tables
where table_name = 'pools' order by 2, 3;
table_catalog | table_schema | table_name | table_type
---------------+--------------+------------+------------
ovirt | public | pools | BASE TABLE
(1 row)
Мануал очень толстый - я до него еще не добрался. Не могу понять логику.
Добавлено через 1 час, 14 минут и 1 секунду:Сменил владельца базы. Помогло.