【问题标题】:database "public" does not exist - postgres/sequelize数据库“公共”不存在 - postgres/sequelize
【发布时间】:2018-12-14 08:43:59
【问题描述】:

我正在尝试从 sequelize (node.js) 连接 postgres 数据库。但 sequelize 会抛出类似 ERROR: database "public" does not exist 的错误。

数据库网址如下:

postgres://postgres:root@localhost:5432/public

show db 结果如下:

我已将数据库 url 修改如下: postgres://postgres:root@localhost:5432/postgres,其中 postgres 是有效的数据库。请在下面找到附图:

【问题讨论】:

  • postgresql 中的数据库和模式不是同一个对象 .. 你应该提供数据库名称而不是模式名称
  • A database 和 schema 是两个不同的东西。您连接到一个数据库,该数据库又包含许多您在其中创建表(和其他对象)的模式。因此,要创建一个表,您需要提供一个 schema 名称。所以你应该使用create table public.sequalizemeta ...
  • 请阅读meta.stackoverflow.com/questions/285551/… 和接受的答案

标签: node.js postgresql sequelize.js


【解决方案1】:

postgresql 中的数据库和模式不是同一个对象。你应该提供数据库名称而不是模式名称

您可以使用

获取数据库列表
psql -U pgadmin -l

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-06
    • 2012-06-07
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    • 2019-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多