如何在heroku psql上创建表?

时间:2017-12-14 00:38:25

标签: postgresql heroku

我正在尝试使用postgres设置一个简单的Web应用程序。我运行应用程序后(还没有与数据库相关的代码)。

  • 我使用命令heroku addons:create heroku-postgresql:hobby-dev --app <app_name>
  • 向app添加了一个postgres db addon
  • 跑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;(成功) - 它在一个安装.sql脚本之上,用于清理,创建表和约束以及添加示例数据。不确定这是否会对此产生任何影响。

2 个答案:

答案 0 :(得分:1)

https://dba.stackexchange.com/a/106067/30035

首先尝试:

set search_path to "$user", public;

如果没有帮助 - 请尝试从上面的链接授予权限

答案 1 :(得分:0)

这是命令DROP OWNED BY current_user CASCADE;,我重置数据库,一切都按预期工作。重新运行DROP OWNED BY current_user CASCADE;并重新出现问题。

答案是避免该命令。请改用Heroku reset命令:

heroku pg:reset --app <app_name>