LibreOffice Base może pełnić funkcję front-endu dla istniejącej bazy danych PostgreSQL, umożliwiając przeglądanie tabel, tworzenie zapytań oraz budowanie formularzy i raportów bez konieczności przenoszenia danych do osadzonej bazy danych Base. W przypadku większości obecnych instalacji najbezpieczniejszym rozwiązaniem jest bezpośrednie połączenie LibreOffice z PostgreSQL. JDBC jest nadal przydatny jako rozwiązanie awaryjne, gdy środowisko wymaga sterownika Java lub gdy bezpośredni łącznik jest niedostępny.
Przykładowy scenariusz: wyobraź sobie mały zespół operacyjny o nazwie Northwind Field Services. Jego serwer PostgreSQL zawiera bazę danych o nazwie sales_ops. Baza danych działa na porcie db.example.internal, nasłuchuje na porcie 5432, a zespół ma przypisaną rolę tylko do odczytu o nazwie analyst_ro. Przykład jest fikcyjny i służy jedynie do pokazania, jak decyzje konfiguracyjne są ze sobą powiązane.
Poniższe kroki są zgodne z aktualną Pomocą LibreOffice dotyczącą połączeń PostgreSQL i JDBC oraz aktualną dokumentacją serwera PostgreSQL. Od października 2026 roku LibreOffice wymienia wersję 26.8.0 jako najnowszą gałąź, a 26.2.6 jako dojrzałą poprzednią gałąź; dokładne etykiety lub rozmieszczenie przycisków mogą się nieznacznie różnić w zależności od systemu operacyjnego i wersji. Aktualne brzmienie można znaleźć w oficjalnych informacjach o wydaniu LibreOffice oraz w pomocy dotyczącej połączeń LibreOffice z PostgreSQL .
Zanim zaczniesz: Zbierz cztery wartości połączenia
Zazwyczaj potrzebujesz czterech informacji od administratora PostgreSQL:
- Nazwa bazy danych , taka jak
sales_ops.
- Nazwa serwera lub adres IP , taki jak
db.example.internal.
- Port , zazwyczaj,
5432chyba że administrator go zmienił.
- Logowanie do PostgreSQL i metoda uwierzytelniania lub hasło.
Nie należy zakładać, że serwer akceptujący lokalne połączenia PostgreSQL będzie również akceptował połączenie LibreOffice z innego komputera. PostgreSQL listen_addresseskontroluje, które interfejsy sieciowe akceptują połączenia TCP/IP, a także pg_hba.confkontroluje, które adresy klientów, bazy danych, użytkownicy i metody uwierzytelniania są dozwolone. PostgreSQL dokumentuje oba te zachowania w ustawieniach połączenia oraz w dokumentacji uwierzytelniania klienta .
Krok 1: Otwórz bazę danych i wybierz istniejącą bazę danych PostgreSQL
Uruchom LibreOffice Base i utwórz nowy dokument bazy danych Base. W Kreatorze bazy danych wybierz opcję „ Połącz z istniejącą bazą danych” , a następnie wybierz PostgreSQL jako typ bazy danych. Kreator bazy danych LibreOffice wyraźnie obsługuje łączenie dokumentu bazy danych z istniejącą bazą danych, zamiast tworzenia nowej, osadzonej bazy.
Podpis: Kreator bazy danych jest ustawiony tak, aby łączyć się z istniejącą bazą danych PostgreSQL, zamiast tworzyć nową, osadzoną bazę danych.
W przykładzie Northwind Field Services oznacza to, że Base będzie przechowywać informacje o połączeniu oraz obiekty Base, takie jak zapytania, formularze i raporty, podczas gdy rzeczywiste tabele biznesowe pozostaną w PostgreSQL.
Krok 2: Wprowadź nazwę bazy danych, serwer i port
Na stronie połączenia PostgreSQL wprowadź nazwę bazy danych, serwer i port podane przez administratora. W bieżącym przykładzie wartości te to sales_ops, db.example.internali 5432.
Podpis: Strona bezpośredniego połączenia PostgreSQL z przykładową nazwą bazy danych, serwerem i domyślnym portem PostgreSQL.
LibreOffice pozwala również na użycie ciągu połączenia specyficznego dla PostgreSQL zamiast wypełniania podstawowych pól. Oficjalna pomoc zawiera formularze takie jak „ dbname=MyDatabase host=myHost port=5432i” postgresql://myHost:port/MyDatabase. Może to być przydatne, gdy administrator poda dodatkowe parametry specyficzne dla sterownika. LibreOffice zaznacza, że wartości user=„i” password=w tym ciągu połączenia są ignorowane, a uwierzytelnienie jest wymagane w momencie połączenia.
Krok 3: Wprowadź użytkownika PostgreSQL i przetestuj połączenie
Wprowadź rolę PostgreSQL, która powinna być używana z bazy danych. Konto tylko do odczytu lub konto z minimalnymi uprawnieniami jest zazwyczaj bezpieczniejszym punktem wyjścia niż konto właściciela bazy danych lub superużytkownika, gdy celem jest raportowanie lub analiza. W tym przykładzie rola to analyst_ro.
Podpis: Uwierzytelnianie jest skonfigurowane z przykładową rolą tylko do odczytu, a test połączenia zgłasza pomyślny wynik.
Użyj opcji Testuj połączenie przed zapisaniem dokumentu Base. Pomyślny test potwierdza, że Base może połączyć się z serwerem i uwierzytelnić się za pomocą podanej roli. Nie dowodzi to jednak, że rola ma uprawnienia do odczytu każdej tabeli, której zamierzasz używać, dlatego widoczność tabeli nadal musi zostać sprawdzona po nawiązaniu połączenia.
Jeśli test się nie powiedzie, zachowaj dokładny komunikat. Błędy takie jak no pg_hba.conf entry, password authentication failed, user does not existlub mają różne przyczyny. Strona rozwiązywania problemów z uwierzytelnianiemdatabase does not exist PostgreSQL wyjaśnia te komunikaty i zaleca sprawdzenie logu serwera, gdy błąd po stronie klienta nie jest wystarczający.
Krok 4: Zapisz dokument bazy danych bazowej
Po pomyślnym zakończeniu testu wybierz, czy zarejestrować bazę danych w LibreOffice i czy otworzyć ją od razu do edycji. Rejestracja jest przydatna, gdy inne komponenty LibreOffice muszą odwoływać się do źródła danych po nazwie. Następnie kliknij Zakończ i zapisz dokument bazowy jako .odbplik.
Podpis: Na ostatniej stronie kreatora można zarejestrować źródło danych PostgreSQL i otworzyć zapisany dokument bazowy do edycji.
Plik .odbnie jest kopią bazy danych PostgreSQL w tej konfiguracji. Należy go traktować jako dokument bazy danych po stronie LibreOffice, który zawiera definicję połączenia i obiekty Base. Jeśli przeniesiesz .odbplik na inny komputer, komputer ten nadal będzie potrzebował dostępu do sieci, prawidłowych poświadczeń oraz wszelkich wymaganych sterowników lub certyfikatów.
Krok 5: Sprawdź, czy oczekiwane tabele są widoczne
Otwórz zapisany dokument bazowy i wybierz „Tabele” . Powinieneś zobaczyć obiekty, do których rola PostgreSQL ma dostęp. W fikcyjnym przykładzie oczekiwane tabele mogą obejmować customers, orders, productsi order_items.
Podpis: Widok tabel bazowych to pierwsze praktyczne sprawdzenie, czy połączona rola PostgreSQL widzi oczekiwane obiekty schematu.
Jeśli połączenie się powiedzie, ale brakuje tabel, zazwyczaj nie jest to już problem z siecią. Sprawdź uprawnienia roli PostgreSQL, widoczność schematu i ścieżkę wyszukiwania schematów. Zapytaj administratora bazy danych, jakie schematy i obiekty konto ma widzieć, zanim samodzielnie zmienisz uprawnienia.
Krok 6: Uruchom małe zapytanie tylko do odczytu przed utworzeniem formularzy lub raportów
Przed utworzeniem większego rozwiązania bazowego należy wykonać proste zapytanie tylko do odczytu na małej tabeli. Na przykład:
SELECT customer_id, full_name, city
FROM customers
ORDER BY full_name;
Podpis: Krótkie zapytanie SELECT to przydatna kontrola funkcjonalna wykonywana po tym, jak tabele PostgreSQL staną się widoczne w Base.
To weryfikuje więcej niż tylko początkowy test połączenia: sprawdza, czy baza danych Base może wykonywać polecenia SQL przez połączenie, czy rola może odczytać obiekt docelowy oraz czy zwrócone wiersze nadają się do użycia w interfejsie zapytań bazy danych Base. Zacznij od SELECTinstrukcji, jeśli walidujesz bazę danych produkcyjną. Nie testuj, wstawiając, aktualizując ani usuwając rzeczywiste rekordy, chyba że jest to wyraźnie określone w wymaganiach dotyczących dostępu.
Krok 7: Konfigurowanie protokołu TLS, gdy zasady bazy danych wymagają szyfrowania
W przypadku zdalnej lub produkcyjnej bazy danych należy przestrzegać wymagań TLS obowiązujących w organizacji, zamiast zakładać, że połączenie niezaszyfrowane jest akceptowalne. PostgreSQL obsługuje szyfrowane połączenia klient/serwer, gdy na serwerze włączony jest protokół SSL, a administratorzy mogą wymagać reguł hosta specyficznych dla protokołu SSL w [usunięto tekst] pg_hba.conf. Szczegółowe informacje dotyczące konfiguracji znajdują się w dokumentacji SSL/TLS PostgreSQL .
Bezpośrednie połączenie LibreOffice z PostgreSQL akceptuje parametry połączenia specyficzne dla sterownika, ale nie każdy parametr połączenia PostgreSQL jest koniecznie obsługiwany przez menedżera sterowników LibreOffice. Jeśli potrzebujesz weryfikacji certyfikatów, certyfikatów klienta lub trybu SSL specyficznego dla zasad, potwierdź dokładny ciąg połączenia z administratorem bazy danych oraz zapoznaj się z dokumentacją LibreOffice dla zainstalowanej wersji. W tym momencie kopiowanie ogólnego ciągu połączenia internetowego może stwarzać fałszywe poczucie bezpieczeństwa.
Podpis: Błąd uwierzytelniania, który wspomina o pliku pg_hba.conf, a stan SSL wskazuje na zasady połączeń po stronie serwera, a nie po prostu błędnie wpisaną nazwę dokumentu bazowego.
Krok 8: Używaj JDBC tylko wtedy, gdy potrzebujesz ścieżki sterownika Java
Jeśli opcja bezpośredniego połączenia z PostgreSQL jest niedostępna w Twoim środowisku lub administrator wyraźnie ujednolica JDBC, Base może połączyć się za pośrednictwem sterownika JDBC. Ta ścieżka dodaje Javę i konfigurację sterownika, dlatego lepiej traktować ją jako przemyślaną alternatywę, a nie warunek wstępny dla każdego połączenia z PostgreSQL.
Pobierz sterownik JDBC PostgreSQL tylko z oficjalnej strony pgJDBC . Dokumentacja pgJDBC podaje, że plik JAR sterownika musi znajdować się w ścieżce klas Java. Pomoc JDBC LibreOffice instruuje użytkowników, aby dodali ścieżkę sterownika w obszarze Narzędzia > Opcje > LibreOffice > Zaawansowane > Ścieżka klas , a następnie ponownie uruchomili LibreOffice.
Podpis: Awaryjne działanie JDBC wymaga środowiska uruchomieniowego Java i pliku JAR PostgreSQL JDBC w ścieżce klas LibreOffice.
W przypadku PostgreSQL, pgJDBC dokumentuje adresy URL w formacie jdbc:postgresql://host:port/database. W przypadku fikcyjnego serwera byłoby to jdbc:postgresql://db.example.internal:5432/sales_ops. Klasa sterownika JDBC PostgreSQL to org.postgresql.Driver; nowoczesne aplikacje Java mogą ją ładować za pośrednictwem mechanizmu dostawcy usług Java, gdy obecny jest plik JAR, chociaż kreator JDBC w LibreOffice może nadal żądać podania wartości klasy sterownika. Zapoznaj się z przewodnikiem konfiguracji pgJDBC , dokumentacją adresu URL połączenia pgJDBC oraz pomocą LibreOffice JDBC .
Szybka tabela rozwiązywania problemów
| Objaw | Najbardziej przydatne następne sprawdzenie |
| Połączenie odrzucone lub przekroczony limit czasu | Sprawdź nazwę serwera, port, ścieżkę zapory, PostgreSQL listen_addressesi czy serwer faktycznie nasłuchuje na tym interfejsie. |
no pg_hba.conf entry | Poproś administratora o sprawdzenie odpowiedniej reguły hosta/bazy danych/użytkownika i czy połączenie musi używać protokołu SSL. |
| Uwierzytelnianie hasła nie powiodło się | Sprawdź rolę i hasło PostgreSQL; nie zakładaj, że nazwa konta systemu operacyjnego jest rolą bazy danych. |
| Połączenie działa, ale brakuje tabel | Sprawdź uprawnienia roli, widoczność schematu i oczekiwaną ścieżkę schematu/wyszukiwania. |
| Nie można załadować klasy sterownika JDBC | Sprawdź, czy plik JAR pgJDBC znajduje się w ścieżce klas LibreOffice, czy Java jest włączona i czy LibreOffice został ponownie uruchomiony. |
| Działa na jednym komputerze, ale nie na innym | Porównaj dostępność DNS/sieci, reguły IP klienta w pg_hba.conf, certyfikaty, lokalną konfigurację Java/JDBC (jeśli jest używana) i zapisane dane uwierzytelniające. |
Jak powinna wyglądać udana konfiguracja
Użytecznym kryterium sukcesu nie jest jedynie „zaliczony test połączenia”. W przykładzie Northwind Field Services konfiguracja jest rzeczywiście gotowa, gdy dokument bazowy otwiera się bez problemów, konto analyst_rowidzi tylko oczekiwane obiekty PostgreSQL, krótkie SELECTzapytanie zwraca oczekiwane wiersze, a połączenie spełnia wymagania organizacji dotyczące szyfrowania i uwierzytelniania.
Jeśli dojdziesz do punktu, w którym podstawowe zapytania działają, ale bardziej złożone formularze lub raporty Base ujawniają ograniczenia specyficzne dla typu danych, wydajności lub sterownika, przestań traktować problem jako problem z łącznością. Na tym etapie porównaj bezpośredni konektor PostgreSQL z JDBC dla konkretnego obciążenia i przetestuj konkretne zapytanie lub typ danych, który ma znaczenie. Metoda połączenia powinna służyć polityce bazy danych i faktycznie używanym funkcjom Base, a nie być celem samym w sobie.