Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> odwołanie do innej bazy
dragossani
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dragossani
post
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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 14:24