【发布时间】:2018-10-15 06:43:30
【问题描述】:
我目前正在为一个学校项目创建一个 API,一切正常。我的设置是:Node v10、Postgres、Koa 等等……
我目前有这个:
CREATE ROLE sa WITH LOGIN PASSWORD 'some-password.';
CREATE DATABASE master WITH OWNER sa;
\c master;
当初始化脚本在 docker 机器中运行时,我得到的输出是这个:
CREATE ROLE
CREATE DATABASE
You are now connected to database "master" as user "postgres".
所以我确实将文件更改为这样的:
CREATE ROLE sa WITH LOGIN PASSWORD 'some-password.';
CREATE DATABASE master WITH OWNER sa;
CONNECT TO master AS main USER sa;
我得到一个语法错误:
STATEMENT: CONNECT TO master AS sa USER sa;
psql:/docker-entrypoint-initdb.d/init.sql:4: ERROR: syntax error at or near "CONNECT"
我在文档中找不到任何地方(或者看起来不太好)如何从 .sql 文件连接到具有特定用户的数据库。
如何连接到 'master' 及其所有者,即 .sql 文件中的 'sa'?
【问题讨论】:
-
有个疑问,你用的是SQL Server还是PostgreSQL?
-
@Vivek,我正在使用 PostgreSQL。我学习的第一个 RDBMS 是 SQL Server。这就是为什么每当我使用除 SQL Server 之外的其他 RDBMS 时,我创建的几乎每个管理员/数据库所有者都被命名为“sa”。很难改掉这个习惯。
-
查看我在下面发布的答案,如果您仍然遇到任何问题,请告诉我。
-
Postgres 中没有
connectSQL statement。要切换psql中的连接,请使用\c databasename username -
@a_horse_with_no_name 你的答案是我需要的!超级简单哈哈
标签: postgresql