LINUX.ORG.RU

нет доступа к моим базам

 ,


0

1

помогите пожалуйста решить проблему

на linux mint установил postgres и rails. через командную строку postgres создал пользователя и 3 базы данных:

vd_test
vd_development
vd_production

создавал приблизительно следующим образом:

sudo su - postgres
psql

CREATE USER yourname WITH PASSWORD 'passwordhere';
CREATE DATABASE metals-directory_production  WITH OWNER yourname;
GRANT ALL PRIVILEGES ON DATABASE metals-directory_production TO yourname;

все эти базы и пользователей я вижу из командной строки.

в rails вот config/database.yml

default: &default
  adapter: postgresql
  encoding: unicode
  username: 'kalinin'
  password: '123456'
  pool: 5
development:
  <<: *default
  database: vd_development
test:
  <<: *default
  database: vd_test
#
production:
  <<: *default
  database: vd_production

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

но как только пытаюсь из командной строки обратиться к vd_test следующим образом

rake test

то получаю сообщение об ошибке:

kalinin@kalinin ~/rails/vd $ rake test
rake aborted!
ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ОШИБКА:  нет прав на создание базы данных
: CREATE DATABASE "vd_test" ENCODING = 'unicode'
/home/kalinin/.rvm/gems/ruby-2.0.0-p598/gems/activerecord-4.2.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:155:in `async_exec'
............
..........
.......
Tasks: TOP => db:test:load => db:test:purge
(See full trace by running task with --trace)
rake aborted!
PG::ConnectionBad: ВАЖНО:  база данных "vd_test" не существует
...........
.......

непонятно почему эта база не существует и почему у меня нет на неё прав. подскажите пожалуйста что можно попробовать сделать


Я не очень в теме rails и прочего, но есть некоторое подозрение:
sudo su - postgres - тут ты зашел под пользователем postgres и последующие действия по создания БД выполняешь от него.
kalinin@kalinin ~/rails/vd $ rake test - это ты выполняешь от имени пользователя kalinin, у которго может вообще не быть доступа к БД (или не хватать прав на какие-то действия).

anonymous
()
Ответ на: комментарий от prozaik

ну точно. накатил прав моему пользователю через alter role и всё заработало как надо. спасибо чуваки за подсказку

prozaik
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.