![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Przyjaciele php.pl Postów: 398 Pomógł: 0 Dołączył: -- Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Zaznaczam, że postgresa uruchomiłem pierwszy raz kilka dni temu i jestem zielony, stąd pytanie.
Jak dorwać się do kilu baz jednocześnie w jednym zapytaniu? W MySQL'u robię po prostu "SELECT tabela1.pole1, tabela2.pole2 FROM baza1.tabela1 LEFT JOIN baza2.tabela2 USING(klucz_obcy)". A w Postgresie? Taki zapis mi nie działa. W ogóle siedząc w jednej bazie nie mogę dobrać się do drugiej. Siedząc w baza1 nie mogę zrobić "SELECT * FROM baza2.tabela2". Wywala błąd: parse error at or near "." -------------------- cease this long, long rest / wake and risk a foul weakness to live / when it all comes down / watch the smoke and bury the past again / sit and think what will come / raise your fears and cast them all away
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 398 Pomógł: 0 Dołączył: -- Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Fragment z książki "Practical PostgreSQL":
Cytat Byc może nie wszyscy wiedza, że system PostgreSQL może jednoczesnie zarzadzac kilkoma bazami danych, z których każda posiada swojego własciciela oraz zawiera unikalne tabele, widoki, wskazniki, sekwencje i funkcje.
W celu utworzenia tabeli, funkcji lub dowolnego innego obiektu bazy danych należy uzyskac połaczenie z konkretna baza danych poprzez klienta PostgreSQL. Po uzyskaniu połaczenia można utworzyc obiekt, który jest wówczas obiektem bazy, z która uzyskano połaczenie, a zatem jest niedostepny z jakiejkolwiek innej bazy danych (chociaż klient może posiadac otwarte połaczenia z kilkoma różnymi bazami danych). Tworzac podstawowe obiekty bazodanowe w osobnych bazach danych zmniejsza sie ryzyko powstawania konfliktu nazw przy wybieraniu nazwy tabeli, która już wybrano w innym celu (na przykład gdy dwóch użytkowników chce wykorzystac w dwóch oddzielnych aplikacjach tabele nazywana products). Jest tak, ponieważ żadna z baz danych nie zawiera informacji o elementach innej bazy danych i nie podejmie próby utworzenia jakiegokolwiek zwiazku logicznego pomiedzy nimi. Ponadto, ponieważ ta sama zasada ma zastosowanie do obiektowo-relacyjnych obiektów danych, użytkownicy w swojej bazie danych moga nawet tworzyc funkcje i definicje jezyka, które sa niedostepne dla innych użytkowników połaczonych z innymi bazami danych działajacymi w PostgreSQL. Skoro w tak się przedstawia sytuacja, to jakim cudem MySQL umożliwia tak swobodne manewry, jak te, o których pisałem powyżej? -------------------- cease this long, long rest / wake and risk a foul weakness to live / when it all comes down / watch the smoke and bury the past again / sit and think what will come / raise your fears and cast them all away
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 14:24 |