Postgres psql \i 好像加了一个分号

Postgres psql \i seems to be adding a semicolon

我正在使用 postgres 教授 SQL class。我的一个学生发现了一些我不明白的东西。

学生正在使用 \i 命令(即:\i /temp/query.txt

将 ascii 文件中的多个查询提交给 psql

一些学生省略了最后一个命令后的分号 - 但他们仍然从文件中得到了有效的输出。

IE psql 的行为是在文件末尾附加分号。

Postgres 是否接受分号或 EOF 作为命令的结尾 - 还是这里还有其他问题?

(我在 Windows 上看到过这个。还没有在 Unix 下看过)Postgres V 13.2

来源src/bin/psql/mainloop.c:

/*
 * If we have a non-semicolon-terminated query at the end of file, we
 * process it unless the input source is interactive --- in that case it
 * seems better to go ahead and quit.  Also skip if this is an error exit.
 */