PostgresとHerokuが初めてです。 Herokuからデータベースを取得しようとしていますが、単純なものがありません。やった:
heroku pg:pull HEROKU_POSTGRESQL_IVORY_URL localdb
そして、私はエラーを得ました:
createdb: database creation failed: ERROR: permission denied to create database
それから私は「須藤」で同じことを試みました。そして私は得た:
createdb: could not connect to database template1: FATAL: role "root" does not exist
だから、見つけられないいくつかの簡単なコマンドが欠けているに違いない。 Linuxでは、Postgresがインストールされ、動作しています。
createdb
はSQLステートメントのラッパーですCREATE DATABASE
そして、データベースに接続する必要があります。
デフォルトでは、すべてのPostgresコマンドラインツールは、現在のオペレーティングシステムユーザーを使用してデータベースに接続しようとします。エラーメッセージは、データベースにroot
という名前のユーザーがいないことを示しているためです。したがって、createdb
が接続できるようにするには、Postgresスーパーユーザーの名前を渡す必要があります。このユーザーは通常postgres
という名前です。
別のオプションは、Linuxユーザーが存在する場合、Linuxユーザーをpostgres
に切り替えることです。
Herokuがわからず、どのようにcreatedb
を開始したかわかりませんが、ユーザー名を渡すパラメーターは-U
(すべてのPostgresコマンドラインプログラム用)。だからあなたは必要だろう
createdb -U postgres name_of_new_database
使用してみてください:
Sudo su-postgres
次に、createdbを使用して:
createdb name_of_db;