我有以下问题,我需要输入一个脚本,该脚本将在新版本推出支持PostgreSQL中的pgAgent的SQL代码之前运行。但是,此代码应该在维护数据库(postgres)上运行,而我们运行脚本文件的数据库则是另一个。
我记得在SQL Server中有一个命令“use”,所以你可以这样做:
use foo
-- some code
use bar
-- more code
PostgreSQL中有类似内容吗?
答案 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
就是你想要的。
答案 3 :(得分:0)
PostgreSQL没有USE命令。您最有可能使用带有--dbname选项的psql来完成此操作, - dbname将数据库名称作为参数。有关您可以传递的其他选项的详细信息,请参阅此链接,您还需要查看--file选项。 http://www.postgresql.org/docs/9.0/interactive/app-psql.html
答案 4 :(得分:0)