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 № 1W 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.
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