我正在嘗試將我的 Rest Api 部署到 heroku。這個 API 使用 postgres 作為資料庫,所以我也需要部署它。所以,我去了 heroku 網站,創建了應用程式,添加了特定的 postgres 資料庫。此時,我需要在資料庫中創建表。所以,我打開終端,寫了下面的命令,連接資料庫
psql --host=[HOSTNAME] --port=5432 --username=[USERNAME] --password --dbname=[DBNAME]
然后,我輸入了給定的密碼,此時我能夠進入資料庫,因為\dt命令顯示沒有任何關系。此時我需要創建我的資料庫和表,所以我嘗試撰寫CREATE DATABASE db;,但它給了我以下錯誤:ERROR: permission denied to create database. 這應該是因為我不是高權限用戶,但我無法改變這一點,即使我花了很多時間在 youtube 和其他 stackoverflow 問題上尋找解決方案。
因此,我找到了另一種可能的解決方案,即在 CMD 中鍵入以下代碼:
heroku pg:psql --app mad4feltre < database.sql,這應該將 SQL 檔案中的所有代碼放入資料庫中,但終端由于<字符而出現錯誤,該字符保留給未來的用途。這是錯誤本身:
heroku pg:psql --app mad4feltre < database.sql
~
Operator'<' reserved for future uses.
CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
FullyQualifiedErrorId : RedirectionNotSupported
我想知道如何在我的 postgres 資料庫中插入資料庫和表。如果可以解決這兩種可能性中的一種,那將是一件好事。
這是我最關注的視頻和帖子:
https://www.youtube.com/watch?v=80oty2v4HsE
createdb:資料庫創建失敗:錯誤:創建資料庫的權限被拒絕
感謝您的時間
uj5u.com熱心網友回復:
這里有兩件事在起作用:
首先,您不能在 Heroku 上使用 PostgreSQL 命令創建資料庫。
但這沒關系:當您配置 Heroku Postgres 插件時,Heroku 為您創建了一個資料庫。您已經通過
--dbname=[DBNAME]引數連接到它。連接后,您可以立即開始運行查詢。
您似乎正在使用 PowerShell。Heroku 的大部分檔案都使用 Unix 風格的 shell 命令,這些命令可能無法在 PowerShell 上運行。
在這種情況下,該命令嘗試使用
database.sql檔案的內容作為該命令的標準輸入heroku pg:psql。這在 PowerShell 上的作業方式略有不同。試試這個:
Get-Content database.sql | heroku pg:psql --app mad4feltre
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/446068.html
標籤:PostgreSQL heroku
