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上的正確命令。 –