Windows上的Postgres-如何将PSQL命令行拆分为多行?

名侦探柯南

我正在使用Windows批处理文件使用psql连接到postgres。我正在发出这样的命令...。

SET PGPASSWORD=postgres
psql -U postgres -d postgres -c "DROP USER IF EXISTS foo;"

对于对数据库运行一个简短的SQL命令,这可以正常工作。但是我遇到两个相关问题

  1. 如何在多行上继续执行单个长SQL命令,以及
  2. 如何运行多个命令。

示例1 .....

psql -U postgres -d postgres -c "CREATE DATABASE foo
WITH OWNER = bar
ENCODING = 'UTF8' 
TABLESPACE = mytabspace;"

例子2 .....

psql -U postgres -d postgres -c "
ALTER TABLE one ALTER COLUMN X TYPE INTEGER;
ALTER TABLE two ALTER COLUMN Y TYPE INTEGER;"

这些都不能如所示那样工作,我已经做了一些谷歌搜索,并找到了一些关于在Linux上执行此操作的建议,并尝试了各种克拉,反斜杠和下划线,但是似乎无法将命令分成几行。

我知道-f选项可以运行文件,但是我试图避免这种情况。

有什么建议么?

用户名

批行的连续字符是^查看此问答

  • 因此,请以空格+尖号结尾,^并确保以下行以空格开头。

  • 您还必须使用尖号转义跨越几行的双引号区域,以使其起作用。

    • 由于该行未加引号,所以对于批处理解析器,您还必须转义任何特殊字符,例如<>|&插入符号。
psql -U postgres -d postgres -c ^“创建数据库foo ^
 有所有者=条^
 编码='UTF8'^
 TABLESPACE = mytabspace;“

psql -U postgres -d postgres -c ^“ ^
 更改表一ALTER COLUMN X类型整数;^
 更改表两个ALTER COLUMN Y类型的整数;”

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Windows命令行上发表评论?

如何将Instruments.app附加到OS X上的命令行程序?

PSQL:如何阻止命令行上的任何输出?

如何在Windows上使用ImageMagick命令行?

如何在Windows 10上设置Postgres路径变量

如何在Windows命令行上通过html-minifier将选项传递给UglifyJS?

在Windows命令行上使用Gunzip

使用UNIX命令行工具将JSON拆分为多行

如何将命令行参数正确传递给Windows应用程序?

Windows上的Julia。如何将命令行选项传递给可执行文件

在Windows命令行上搜索目录

如何从Windows上的命令行运行.js文件?

如何将PDF文件快速拆分为单页(即从“终端”命令行中)?

如何避免字符串在命令行中的每个空格上拆分

将字符串拆分为数组,然后使用命令行在新行上打印每个元素

如何将复杂的密码粘贴到Windows命令行(shell)中?

如何将历史记录从Windows命令行导出到文本文件?

如何将命令行参数传递给Windows批处理文件中的程序?

我将光标放到Windows命令行上

Windows上的postgres的createuser命令失败

如何将sed命令拆分为多行

如何使用MacPorts在OS X上安装Postgres命令行客户端(psql)?

如何将已安装的Windows共享指定为命令行路径?

在命令行上运行python程序之前如何将数据与python代码集成

如何将数据从 LabVIEW 上编写的应用程序 (Exe) 返回到命令行界面?

在 Freebsd OS 上的 psql 命令行上运行脚本时,如何将输出和错误消息一起记录到文件中?

全新安装后无法在 Windows 上登录 postgres - “psql:致命:用户“postgres”的密码验证失败”

Postgres,将单行拆分为多行

如何将数据拆分为postgres sql中的列?