如何在heroku psql上创建表?
Posted
技术标签:
【中文标题】如何在heroku psql上创建表?【英文标题】:How to create table on heroku psql? 【发布时间】:2017-12-14 00:38:24 【问题描述】:我正在尝试使用 postgres 设置一个简单的 Web 应用程序。在我运行应用程序之后(还没有与数据库相关的代码)。
我使用命令heroku addons:create heroku-postgresql:hobby-dev --app <app_name>
在应用程序中添加了一个 postgres db 插件
运行 heroku psql heroku pg:psql --app
。
尝试根据提示创建表:CREATE TABLE example_table ( a INTEGER );
我看到了错误:
ERROR: no schema has been selected to create in
LINE 1: CREATE TABLE example_table ( a INTEGER );
浏览docs,看起来用户拥有CREATE
的权限。我不确定no schema
对 postgreSQL 意味着什么。
注意:我还运行了命令 DROP OWNED BY current_user CASCADE;
(成功)- 它位于 setup .sql 脚本之上,用于清理、创建表和约束并添加示例数据。不确定这是否会影响这里的任何事情。
【问题讨论】:
【参考方案1】:https://dba.stackexchange.com/a/106067/30035
也可以先尝试:
set search_path to "$user", public;
如果没有帮助 - 尝试从上面的链接授予权限
【讨论】:
【参考方案2】:这是命令DROP OWNED BY current_user CASCADE;
,我重置了数据库,一切都按预期工作。重新运行DROP OWNED BY current_user CASCADE;
,问题又出现了。
答案是避免该命令。改用 Heroku 重置命令:
heroku pg:reset --app <app_name>
【讨论】:
以上是关于如何在heroku psql上创建表?的主要内容,如果未能解决你的问题,请参考以下文章
在 Heroku 上自动化 PSQL 数据库的 PG_DUMP
Heroku “psql: FATAL: 剩余的连接槽是为非复制超级用户连接保留的”