假设我需要在控制台上写一些查询,那么执行多重查询(如CREATE TABLE语句)的最有效方法是什么? 我习惯于使用微软pipe理工作室,但是现在我发现自己不得不在飞行中学习postgres。 谢谢
实际上没有“多行查询”这样的东西 – 就Postgres而言,所有的空白和新行都是毫无意义的(除非它们出现在string中,或者我们在COPY语句或者其他几个特别的地方)。
通过SSH在控制台上编写查询通常是通过psql工具完成的,后者是Postgres交互式terminal(更多信息参见文档)。 这也是你将包含查询的文本文件。
您也可以在命令行上将查询传递给psql。 (引用适合你的shell)或者通过STDIN(标准inputstream)进行pipe道input。
查询缓冲区!
$ psql <your database name>
将带你到postgres的互动terminal
# \e
为'编辑'将打开一个查询缓冲区。 写一些查询,如
select now();
在vim,nano或任何文本编辑器中使用。 你现在在你最喜欢的命令行文本编辑器,并拥有你想要的所有多线路function。
保存并退出你的编辑器,psql将运行你刚才写的查询。