如何在postgreSQL命令中指明哪个数据库执行脚本? (类似于SQL Server“使用”命令)

时间:2010-10-11 18:59:39

标签: sql postgresql

我有以下问题,我需要输入一个脚本,该脚本将在新版本推出支持PostgreSQL中的pgAgent的SQL代码之前运行。但是,此代码应该在维护数据库(postgres)上运行,而我们运行脚本文件的数据库则是另一个。

我记得在SQL Server中有一个命令“use”,所以你可以这样做:

use foo

-- some code

use bar 

-- more code

PostgreSQL中有类似内容吗?

5 个答案:

答案 0 :(得分:4)

您可以在文件中输入:

\c first_db_name
select * from t; --- your sql
\c second_db_name
select * from t; --- your sql
...

答案 1 :(得分:3)

您无法以这种方式切换Postgres中的数据库。您实际上必须重新连接到其他数据库。

答案 2 :(得分:1)

您是否通过psql命令管道这些命令?如果是这样,\c databasename就是你想要的。

psql documentation

答案 3 :(得分:0)

PostgreSQL没有USE命令。您最有可能使用带有--dbname选项的psql来完成此操作, - dbname将数据库名称作为参数。有关您可以传递的其他选项的详细信息,请参阅此链接,您还需要查看--file选项。 http://www.postgresql.org/docs/9.0/interactive/app-psql.html

答案 4 :(得分:0)