Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails更改默认项目数据库';sqllite';到PostgreSql_Ruby On Rails_Postgresql - Fatal编程技术网

Ruby on rails Rails更改默认项目数据库';sqllite';到PostgreSql

Ruby on rails Rails更改默认项目数据库';sqllite';到PostgreSql,ruby-on-rails,postgresql,Ruby On Rails,Postgresql,我在学ruby。我创建了一些应用程序并使用它 我想把数据库改成postgres。我用 gem 'pg' [pg已安装在usr/bin/pg中] 然后使用更新database.yml 使用sqllite的postgresql pg连接不良: FATAL: role "user" does not exist 我已经创建了一些postgres用户。在博士后工作我应该做些什么 development: adapter: postgresql database: db/developmen

我在学ruby。我创建了一些应用程序并使用它

我想把数据库改成postgres。我用

gem 'pg'
[pg已安装在usr/bin/pg中] 然后使用更新database.yml 使用sqllite的postgresql

pg连接不良:

FATAL: role "user" does not exist 
我已经创建了一些postgres用户。在博士后工作我应该做些什么

development:
  adapter: postgresql
  database: db/development.postgresql
  pool: 5
  timeout: 5000

user:
  adapter: postgresql
  database: db/test.postgresql
  pool: 5
  timeout: 5000

production:
  adapter: postgresql
  database: db/production.postgresql
  pool: 5
  timeout: 5000

如果未指定用户名连接到PostgreSQL as,
libpq
将使用当前运行用户的登录用户名进行连接

libpq
是Rails用来连接PostgreSQL的
Pg
gem

因此,在
数据库.yml
中,指定要连接到数据库的PostgreSQL用户,就像使用
用户:
条目一样。确保这对应于PostgreSQL中存在的用户,并且
pg_hba.conf
允许该用户连接


要了解更多信息,请参阅。

我知道这是一个两年前的问题,但我遇到了相同的问题,我通过更改config.yml的语法来修复它,然后我rake db:migrate

default: &default
adapter: postgresql
encoding: unicode
pool: 5

development:
<<: *default
database: yourappnamehere_development


test:
<<: *default
database: yourappnamehere_testdevelopment:


production:
<<: *default
database: YOURAPPNAME_production
username: YOURUSERNAME
password: <%= ENV['YOURAPPNAME_DATABASE_PASSWORD'] %>
default:&default
适配器:postgresql
编码:unicode
游泳池:5
发展:

你的database.yml内容是什么?是否有用户名:user。。?如果是,那么你是否在postgres中创建了一个名为users的角色?名为“user”的用户是否将被装箱?或者它应该是现有的吗?从你的database.yaml文件中删除用户名和密码(如果存在的话)。否则,如果你想使用特定的用户,那么你需要先在PostgreSql中创建它。yaml内容只是我发布的内容。[使用postgresql我创建了用户,但如何使用它?]我的rails在哪里访问它?