0
我正在尝试在NodeJS a la this link中编写一个todo应用程序。从M $切换到NodeJS。如何使用应用程序用户连接到数据库?
我想有一个单独的用户帐户,所以我
sudo useradd pg_todo_app_user
和 sudo passwd pg_todo_app_user
。
bash神的微笑。
然后,想传达给我已经得到过未来用户的PostgreSQL服务器,我尝试以下方法:
$ su - postgres
Password:
$ psql todo
psql (9.4.4)
Type "help" for help.
todo=# CREATE USER pg_todo_app_user WITH PASSWORD 'password!'
todo-# GRANT ALL PRIVILEGES ON DATABASE todo to pg_todo_app_user
todo-# \q
$ exit
到目前为止,大家都高兴。除了当我试试这个:
$ node database.js
events.js:85
throw er; // Unhandled 'error' event
^
error: password authentication failed for user "pg_todo_app_user"
这里是我的连接字符串:
var connectionString = process.env.DATABASE_URL || 'postgresql://pg_todo_app_user:[email protected]:5432/todo';
我查了下,输出并不乐观:
todo=# -c \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------+-----------
postgres | Superuser, Create role, Create DB, Replication+| {}
| Password valid until infinity |
...这是它。我错过了什么或做错了什么?
想要标记为答案,因为它看起来像它适合的文档,但不幸的是,我在这种情况下尝试它,它不起作用。 CREATE ROLE似乎是db上的正确命令。 –