Jestem początkującym w PostgreSQL.
Chcę połączyć się z inną bazą danych z edytora zapytań Postgres - jak USE
polecenie MySQL lub MS SQL Server.
Znalazłem \c databasename
, przeszukując Internet, ale działa tylko na psql . Kiedy próbuję z edytora zapytań PostgreSQL, pojawia się błąd składniowy.
Muszę zmienić bazę danych przez pgscripting. Czy ktoś wie jak to zrobić?
sudo -u postgres psql -d my_database_name
. ŹródłoOdpowiedzi:
Kiedy uzyskasz połączenie z
PostgreSQL
nim, zawsze będzie to konkretna baza danych. Aby uzyskać dostęp do innej bazy danych, musisz uzyskać nowe połączenie.Użycie
\c
w psql zamyka stare połączenie i uzyskuje nowe, używając określonej bazy danych i / lub poświadczeń. Masz zupełnie nowy proces back-end i wszystko.źródło
Musisz określić bazę danych, która będzie używana podczas łączenia; jeśli chcesz użyć psql do skryptu, możesz użyć „\ c nazwa_bazy danych”
W tym momencie możesz zobaczyć następujące dane wyjściowe
Zauważ, jak zmienia się monit. Pozdrowienia, właśnie szukam tego, zbyt mało informacji na temat postgreSQL w porównaniu do MySQL i reszty moim zdaniem.
źródło
W pgAdmin możesz także użyć
źródło
Podstawowym problemem podczas migracji z MySQL było to, że myślałem, że termin ten
database
jest taki sam również w PostgreSQL, ale tak nie jest. Więc jeśli zamierzamy przełączyć bazę danych z naszej aplikacji lubpgAdmin
, wynik nie byłby zgodny z oczekiwaniami. Podobnie jak w moim przypadku, mamy osobne schematy (biorąc pod uwagę terminologię PostgreSQL tutaj.) Dla każdego klienta i osobny schemat administratora. Więc w aplikacji muszę przełączać się między schematami.W tym celu możemy użyć
SET search_path
polecenia. Spowoduje to przełączenie bieżącego schematu na określoną nazwę schematu dla bieżącej sesji.przykład:
Spowoduje to zmianę schematu prądu na określony schemat dla sesji. Aby to zmienić na stałe, musimy wprowadzić zmiany w
postgresql.conf
pliku.źródło
Użyj tego polecenia podczas pierwszego połączenia
psql
źródło