在 heroku postgres 上创建表
Create tables on heroku postgres
我正在尝试将我的 Rest Api 部署到 heroku。这个 API 使用 postgres 作为数据库,所以我也需要部署它。所以,我去了 heroku 站点,创建了应用程序,添加了特定的 postgres 数据库。此时,我需要在数据库中创建tables。所以,我打开了终端,写了下面的命令,连接到数据库
psql --host=[HOSTNAME] --port=5432 --username=[USERNAME] --password --dbname=[DBNAME]
然后,我输入了给定的密码,此时我能够进入数据库,因为 \dt
命令显示没有任何关系。此时我需要创建我的数据库和 tables,所以我试着写 CREATE DATABASE db;
,但它给了我以下错误:ERROR: permission denied to create database
。这应该是因为我不是高权限用户,但我无法更改它,即使我花了很多时间在 youtube 和其他 Whosebug 问题中搜索解决方案。
因此,我找到了另一种可能的解决方案,即在 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 数据库中插入数据库和 table。如果这两种可能性中的一种能够得到解决,那就太好了。
这是我关注最多的视频和 post:
https://www.youtube.com/watch?v=80oty2v4HsE
createdb: database creation failed: ERROR: permission denied to create database
感谢您的宝贵时间
这里有两件事在起作用:
首先,您不能在 Heroku 上使用 PostgreSQL 命令创建数据库。
但这没关系:当您配置 Heroku Postgres add-on 时,Heroku 会为您创建一个数据库。您已经通过 --dbname=[DBNAME]
参数连接到它。
连接后,您可以立即开始 运行 查询。
您似乎在使用 PowerShell。 Heroku 的大部分文档使用的 Unix-style shell 命令可能不适用于 PowerShell。
在这种情况下,该命令试图使用 database.sql
文件的内容作为 heroku pg:psql
命令的标准输入。 PowerShell 上的 works a bit differently。
试试这个:
Get-Content database.sql | heroku pg:psql --app mad4feltre
我正在尝试将我的 Rest Api 部署到 heroku。这个 API 使用 postgres 作为数据库,所以我也需要部署它。所以,我去了 heroku 站点,创建了应用程序,添加了特定的 postgres 数据库。此时,我需要在数据库中创建tables。所以,我打开了终端,写了下面的命令,连接到数据库
psql --host=[HOSTNAME] --port=5432 --username=[USERNAME] --password --dbname=[DBNAME]
然后,我输入了给定的密码,此时我能够进入数据库,因为 \dt
命令显示没有任何关系。此时我需要创建我的数据库和 tables,所以我试着写 CREATE DATABASE db;
,但它给了我以下错误:ERROR: permission denied to create database
。这应该是因为我不是高权限用户,但我无法更改它,即使我花了很多时间在 youtube 和其他 Whosebug 问题中搜索解决方案。
因此,我找到了另一种可能的解决方案,即在 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 数据库中插入数据库和 table。如果这两种可能性中的一种能够得到解决,那就太好了。
这是我关注最多的视频和 post:
https://www.youtube.com/watch?v=80oty2v4HsE
createdb: database creation failed: ERROR: permission denied to create database
感谢您的宝贵时间
这里有两件事在起作用:
首先,您不能在 Heroku 上使用 PostgreSQL 命令创建数据库。
但这没关系:当您配置 Heroku Postgres add-on 时,Heroku 会为您创建一个数据库。您已经通过
--dbname=[DBNAME]
参数连接到它。连接后,您可以立即开始 运行 查询。
您似乎在使用 PowerShell。 Heroku 的大部分文档使用的 Unix-style shell 命令可能不适用于 PowerShell。
在这种情况下,该命令试图使用
database.sql
文件的内容作为heroku pg:psql
命令的标准输入。 PowerShell 上的 works a bit differently。试试这个:
Get-Content database.sql | heroku pg:psql --app mad4feltre