【问题标题】:psql in Windows Command Prompt: How to type in new line?Windows 命令提示符中的 psql:如何输入新行?
【发布时间】:2021-02-06 17:06:12
【问题描述】:

Windows 命令提示符中的 psql:如何输入新行?

我需要输入很多行

可是我不知道怎么办?

【问题讨论】:

  • 只需在第一行包含左括号(,以便psql 知道更多输入即将到来。

标签: windows postgresql cmd psql


【解决方案1】:

在 Linux 或 Windows 环境中的 PostgreSQL 中,您必须为您的数据库目的使用以下命令,

使用\l 查看\列出可用的数据库。

使用\c选择如下数据库,

postgres=# \c testdb 

如果有任何名为 testddb

的数据库

使用\d 查看该数据库中的relationstables

使用d+ 描述表格

postgres=# \d+ users 

在您的情况下,使用如下表创建脚本

postgres=# \c warehouse_db 

warehouse_db=# CREATE TABLE warehouse_tbl (
warehouse_db(# warehouse_id INTEGER NOT NULL PRIMARY KEY,
warehouse_db(# warehouse_name TEXT NOT NULL,
warehouse_db(# year_created INTEGER,
warehouse_db(# street_address TEXT,
warehouse_db(# city CHARACTER VARYING(100),
warehouse_db(# state CHARACTER VARYING(2),
warehouse_db(# zip CHARACTER VARYING(10)
warehouse_db(# );

所以输出是

CREATE TABLE

然后将您的表格描述如下,

warehouse_db=# \d+ warehouse_tbl

退出postgres终端类型如下,

warehouse_db=# \q

在这里,我使用 PostgreSQL 版本 11.9 测试了您的语法。上述用于创建表的 SQL 脚本适用于该版本。

使用时出现错误,

constant "PRIM_KEY" PRIMARY KEY (warehouse_id)

所以我根据 PostgreSQL 11.9 版手册修改了你的代码。

更新

根据Ben Voigt的评论更正了SQL脚本是,

warehouse_db=# CREATE TABLE warehouse_tbl (
warehouse_db(# warehouse_id INTEGER NOT NULL,
warehouse_db(# warehouse_name TEXT NOT NULL,
warehouse_db(# year_created INTEGER,
warehouse_db(# street_address TEXT,
warehouse_db(# city CHARACTER VARYING(100),
warehouse_db(# state CHARACTER VARYING(2),
warehouse_db(# zip CHARACTER VARYING(10),
warehouse_db(# CONSTRAINT "PRIM_KEY" PRIMARY KEY(warehouse_id)
warehouse_db(# );

这将在您的 Windows 机器上运行。

【讨论】:

  • 您遇到错误,因为您将 CONSTRAINT 替换为 constant
【解决方案2】:

pgsql 命令行中,使用

\e

然后在文本编辑器中编辑多行 SQL 脚本

【讨论】:

    猜你喜欢
    • 2017-06-20
    • 2015-01-31
    • 2012-08-15
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    • 2019-01-11
    • 1970-01-01
    相关资源
    最近更新 更多