Как указать в команде postgreSQL, в какой базе данных выполнять скрипт?(аналогично команде SQL "использовать") - PullRequest
3 голосов
/ 11 октября 2010

У меня есть следующая проблема, мне нужно вставить скрипт, который будет запускаться до запуска новой версии, SQL-кода, который включает pgAgent в PostgreSQL.Однако этот код должен выполняться в базе данных обслуживания (postgres), а другая база данных, в которой мы запускаем файл сценария.

Я помню, что в SQL Server есть команда «use», чтобы вы могличто-то вроде:

use foo

-- some code

use bar 

-- more code

Есть ли что-то похожее в PostgreSQL?

Ответы [ 5 ]

4 голосов
/ 22 марта 2013

Вы можете поместить в свой файл что-то вроде:

\c first_db_name
select * from t; --- your sql
\c second_db_name
select * from t; --- your sql
...
3 голосов
/ 12 октября 2010

Вы не можете переключать базы данных в Postgres таким способом.Вы на самом деле должны подключиться к другой базе данных.

1 голос
/ 11 октября 2010

Передаете ли вы эти команды с помощью команды psql?Если это так, \c databasename - это то, что вам нужно.

psql документация

0 голосов
/ 12 октября 2010

через некоторое время после просмотра в Интернете я обнаружил, что это то, что мне нужно http://www.postgresonline.com/journal/archives/44-Using-DbLink-to-access-other-PostgreSQL-Databases-and-Servers.html

0 голосов
/ 12 октября 2010

PostgreSQL не имеет команды USE. Скорее всего, вы бы использовали psql с опцией --dbname, чтобы выполнить это, --dbname принимает имя базы данных в качестве параметра. Посмотрите эту ссылку для получения подробной информации о других опциях, которые вы можете передать, вы также можете проверить опцию --file. http://www.postgresql.org/docs/9.0/interactive/app-psql.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...