提交 7038554c 编写于 作者: P Peter Eisentraut

Allow 'psql -f -' to read from standard input.

上级 84e8e5b4
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.48 2001/05/06 17:21:11 petere Exp $ $Header: /cvsroot/pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.49 2001/05/06 17:38:31 petere Exp $
Postgres documentation Postgres documentation
--> -->
...@@ -1292,6 +1292,12 @@ Access permissions for database "test" ...@@ -1292,6 +1292,12 @@ Access permissions for database "test"
After the file is processed, <application>psql</application> terminates. After the file is processed, <application>psql</application> terminates.
This is in many ways equivalent to the internal command <command>\i</command>. This is in many ways equivalent to the internal command <command>\i</command>.
</para> </para>
<para>
If <replaceable>filename</replaceable> is <literal>-</literal>
(hyphen), then standard input is read.
</para>
<para> <para>
Using this option is subtly different from writing Using this option is subtly different from writing
<literal>psql &lt; <replaceable class="parameter">filename</replaceable></literal>. <literal>psql &lt; <replaceable class="parameter">filename</replaceable></literal>.
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* *
* Copyright 2000 by PostgreSQL Global Development Group * Copyright 2000 by PostgreSQL Global Development Group
* *
* $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.46 2001/03/23 00:36:38 tgl Exp $ * $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.47 2001/05/06 17:38:32 petere Exp $
*/ */
#include "postgres_fe.h" #include "postgres_fe.h"
...@@ -230,7 +230,7 @@ main(int argc, char *argv[]) ...@@ -230,7 +230,7 @@ main(int argc, char *argv[])
/* /*
* process file given by -f * process file given by -f
*/ */
if (options.action == ACT_FILE) if (options.action == ACT_FILE && strcmp(options.action_string, "-")!=0)
{ {
if (!options.no_psqlrc) if (!options.no_psqlrc)
process_psqlrc(); process_psqlrc();
...@@ -290,6 +290,8 @@ main(int argc, char *argv[]) ...@@ -290,6 +290,8 @@ main(int argc, char *argv[])
process_psqlrc(); process_psqlrc();
if (!pset.notty) if (!pset.notty)
initializeInput(options.no_readline ? 0 : 1); initializeInput(options.no_readline ? 0 : 1);
if (options.action_string) /* -f - was used */
pset.inputfile = "<stdin>";
successResult = MainLoop(stdin); successResult = MainLoop(stdin);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册