How to indicate in postgreSQL command in which database to execute a script? (simmilar to SQL Server “use” command)
我有以下问题,我需要输入一个脚本,该脚本将在新版本被滚动之前运行,即在PostgreSQL中启用PGagent的SQL代码。但是,此代码应该在维护数据库(Postgres)上运行,并且运行脚本文件的数据库是另一个数据库。
我记得在SQL Server中有一个命令"use",所以您可以执行如下操作:
1 2 3 4 5 6 7 | USE foo -- some code USE bar -- more code |
PostgreSQL中有类似的东西吗?
您可以将如下内容放入文件:
1 2 3 4 5 | \c first_db_name SELECT * FROM t; --- your sql \c second_db_name SELECT * FROM t; --- your sql ... |
不能这样在Postgres中切换数据库。实际上,您必须重新连接到另一个数据库。
你是通过
PSQL文档
在网上看了一段时间后,我发现这正是我需要的。http://www.postgreonline.com/journal/archives/44-using-dblink-to-access-other-postgresql-databases-and-servers.html
PostgreSQL没有use命令。您很可能使用psql和--dbname选项来完成这项工作,--dbname将数据库名称作为参数。有关可以传递的其他选项的详细信息,请参见此链接。您还需要签出--file选项。网址:http://www.postgresql.org/docs/9.0/interactive/app-psql.html