/ / Jak wskazać w komendzie postgreSQL, w której bazie danych wykonać skrypt? (podobne do polecenia "use" programu SQL Server) - sql, postgresql

Jak wskazać w komendzie postgreSQL, w której bazie danych wykonać skrypt? (podobne do polecenia "use" programu SQL Server) - sql, postgresql

Mam następujący problem, muszę wstawićskrypt, który będzie działał przed uruchomieniem nowej wersji kodu SQL, który włącza pgAgent w PostgreSQL. Jednak ten kod powinien być uruchamiany w bazie danych konserwacji (postgres), a baza danych, w której uruchamiamy plik skryptu, jest inna.

Pamiętam, że w SQL Serverze jest polecenie "use", więc możesz zrobić coś takiego:

use foo

-- some code

use bar

-- more code

czy jest coś podobnego w PostgreSQL?

Odpowiedzi:

4 dla odpowiedzi № 1

W ten sposób nie można przełączać baz danych w PostgreScie. W rzeczywistości trzeba ponownie połączyć się z inną bazą danych.


3 dla odpowiedzi № 2

Możesz umieścić w swoim pliku coś takiego:

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

1 dla odpowiedzi nr 3

Czy wyłudzasz te polecenia przez psql dowództwo? W takim razie, c databasename jest to, czego chcesz.

Dokumentacja psql


0 dla odpowiedzi nr 4

PostgreSQL nie ma polecenia USE. Najprawdopodobniej użyjesz psql z opcją --dbname, aby to osiągnąć, --dbname bierze nazwę bazy danych jako parametr. Zobacz ten link, aby uzyskać szczegółowe informacje na temat innych opcji, które możesz przekazać, ale także chcesz zapoznać się z opcją --file. http://www.postgresql.org/docs/9.0/interactive/app-psql.html


0 dla odpowiedzi № 5

patrząc przez jakiś czas w sieci, znalazłem to, czego potrzebowałem http://www.postgresonline.com/journal/archives/44-Using-DbLink-to-access-other-PostgreSQL-Databases-and-Servers.html