Rozszerzenia PostgreSQL w usłudze Azure Cosmos DB for PostgreSQL
DOTYCZY: Usługa Azure Cosmos DB for PostgreSQL (obsługiwana przez rozszerzenie bazy danych Citus do bazy danych PostgreSQL)
Baza danych PostgreSQL rozszerza funkcjonalność bazy danych przy użyciu rozszerzeń. Rozszerzenia umożliwiają łączenie wielu powiązanych obiektów SQL razem w jednym pakiecie, który można załadować lub usunąć z bazy danych za pomocą jednego polecenia. Po załadowaniu do bazy danych rozszerzenia mogą działać jak funkcje wbudowane. Aby uzyskać więcej informacji na temat rozszerzeń PostgreSQL, zobacz Package related objects into an extension (Tworzenie pakietów powiązanych obiektów w rozszerzeniu).
Korzystanie z rozszerzeń PostgreSQL
Aby można było ich używać, należy zainstalować rozszerzenia PostgreSQL w bazie danych. Aby zainstalować określone rozszerzenie, uruchom polecenie CREATE EXTENSION z narzędzia psql, aby załadować spakowane obiekty do bazy danych.
Uwaga
Jeśli CREATE EXTENSION
błąd nie powiedzie się z powodu błędu odmowy uprawnień, spróbuj zamiast tego create_extension()
użyć funkcji. Przykład:
SELECT create_extension('postgis');
Aby usunąć zainstalowane w ten sposób rozszerzenie, użyj polecenia drop_extension()
.
Usługa Azure Cosmos DB for PostgreSQL obecnie obsługuje podzbiór rozszerzeń kluczy wymienionych tutaj. Rozszerzenia inne niż wymienione na liście nie są obsługiwane. Nie można utworzyć własnego rozszerzenia za pomocą usługi Azure Cosmos DB for PostgreSQL.
Rozszerzenia obsługiwane przez usługę Azure Cosmos DB for PostgreSQL
W poniższych tabelach wymieniono standardowe rozszerzenia PostgreSQL obsługiwane w usłudze Azure Cosmos DB for PostgreSQL. Te informacje są również dostępne, uruchamiając polecenie SELECT * FROM pg_available_extensions;
.
Wersje każdego rozszerzenia zainstalowanego w klastrze czasami różnią się w zależności od wersji bazy danych PostgreSQL (11, 12, 13, 14, 15 lub 16). Tabele wyświetlają wersje rozszerzeń na wersję bazy danych.
Rozszerzenie Citus
Rozszerzenie | Opis | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 16 |
---|---|---|---|---|---|---|---|
citus | Rozproszona baza danych Citus. | 9.5 | 10,2 | 11.3 | 12,1 | 12,1 | 12,1 |
Rozszerzenia typów danych
Rozszerzenie | Opis | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 16 |
---|---|---|---|---|---|---|---|
tekst citext | Udostępnia typ ciągu znaków bez uwzględniania wielkości liter. | 1.5 | 1.6 | 1.6 | 1.6 | 1.6 | 1.6 |
sześcian | Udostępnia typ danych dla wielowymiarowych modułów. | 1.4 | 1.4 | 1.4 | 1.5 | 1.5 | 1.5 |
Hll | Udostępnia strukturę danych Funkcji HyperLogLog. | 2.18 | 2.18 | 2.18 | 2.18 | 2.18 | 2.18 |
hstore | Udostępnia typ danych do przechowywania zestawów par klucz-wartość. | 1.5 | 1.6 | 1,7 | 1.8 | 1.8 | 1.8 |
Isn | Udostępnia typy danych dla międzynarodowych standardów numerowania produktów. | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
Lo | Konserwacja dużych obiektów. | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
ltree | Udostępnia typ danych dla struktur przypominających drzewa hierarchicznego. | 1.1 | 1.1 | 1.2 | 1.2 | 1.2 | 1.2 |
Seg | Typ danych reprezentujący segmenty linii lub interwały zmiennoprzecinkowe. | 1.3 | 1.3 | 1.3 | 1.4 | 1.4 | 1.4 |
tdigest | Typ danych dla akumulowania na podstawie rangi statystyk, takich jak kwantyle i przycięte środki. | 1.4.1 | 1.4.1 | 1.4.1 | 1.4.1 | 1.4.1 | 1.4.1 |
topn | Wpisz wartość top-n JSONB. | 2.6.0 | 2.6.0 | 2.6.0 | 2.6.0 | 2.6.0 | 2.6.0 |
Rozszerzenia wyszukiwania pełnotekstowego
Rozszerzenie | Opis | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 16 |
---|---|---|---|---|---|---|---|
dict_int | Udostępnia szablon słownika wyszukiwania tekstu dla liczb całkowitych. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
dict_xsyn | Szablon słownika wyszukiwania tekstu na potrzeby rozszerzonego przetwarzania synonimów. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
unaccent | Słownik wyszukiwania tekstu, który usuwa akcenty (znaki diakrytyczne) z leksykamy. | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
Rozszerzenia usługi Functions
Rozszerzenie | Opis | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 15 |
---|---|---|---|---|---|---|---|
autoinc | Funkcje do automatycznego zwiększania pól. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
earthdistance | Zapewnia metodę obliczania odległości wielkich okręgów na powierzchni Ziemi. | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
rozmycie rozmyte | Udostępnia kilka funkcji umożliwiających określenie podobieństw i odległości między ciągami. | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 | 1.2 |
insert_username | Funkcje do śledzenia osób, które zmieniły tabelę. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
intagg | Agregator liczb całkowitych i moduł wyliczający (przestarzałe). | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
intarray | Udostępnia funkcje i operatory do manipulowania tablicami bez wartości null liczb całkowitych. | 1.2 | 1.2 | 1.3 | 1.5 | 1.5 | 1.5 |
moddatetime | Funkcje do śledzenia czasu ostatniej modyfikacji. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
orafce | Funkcje i operatory emulujące podzbiór funkcji i pakietów z systemu Oracle RDBMS. | 4.9 | 4.9 | 4.9 | |||
pg_partman | Zarządza partycjonowanych tabel według czasu lub identyfikatora. | 4.7.4 | 4.7.4 | 4.7.4 | 5.1.0 | 5.1.0 | 5.1.0 |
pg_surgery | Funkcje wykonywania operacji na uszkodzonym związku. | 1.0 | 1.0 | 1.0 | |||
pg_trgm | Udostępnia funkcje i operatory do określania podobieństwa tekstu alfanumerycznego na podstawie dopasowania trigramów. | 1.4 | 1.4 | 1.5 | 1.6 | 1.6 | 1.6 |
pgcrypto | Udostępnia funkcje kryptograficzne. | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 |
refint | Funkcje implementujące integralność referencyjną (przestarzałe). | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
tablefunc | Udostępnia funkcje, które manipulują całymi tabelami, w tym krzyżowe. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
tcn | Wyzwalane powiadomienia o zmianie. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
timetravel | Funkcje do implementowania podróży czasowych. | 1.0 | |||||
uuid-ossp | Generuje unikatowe identyfikatory (UUID). | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
Rozszerzenia typów indeksów
Rozszerzenie | Opis | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 16 |
---|---|---|---|---|---|---|---|
kwitnąć | Metoda dostępu Bloom — indeks oparty na plikach podpisu. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
btree_gin | Udostępnia przykładowe klasy operatorów GIN, które implementują zachowanie podobne do drzewa B dla niektórych typów danych. | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 |
btree_gist | Udostępnia klasy operatorów indeksu GiST, które implementują drzewo B. | 1.5 | 1.5 | 1.5 | 1.6 | 1,7 | 1,7 |
Rozszerzenia języka
Rozszerzenie | Opis | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 16 |
---|---|---|---|---|---|---|---|
plpgsql | Język proceduralny z możliwością ładowania PL/pgSQL. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
Różne rozszerzenia
Rozszerzenie | Opis | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 16 |
---|---|---|---|---|---|---|---|
amcheck | Funkcje do weryfikowania integralności relacji. | 1.1 | 1.2 | 1.2 | 1.3 | 1.3 | 1.3 |
dblink | Moduł obsługujący połączenia z innymi bazami danych PostgreSQL z poziomu sesji bazy danych. Aby uzyskać informacje na temat tego rozszerzenia, zobacz sekcję "dblink and postgres_fdw". | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
old_snapshot | Umożliwia inspekcję stanu serwera używanego do implementowania old_snapshot_threshold. | 1.0 | 1.0 | 1.0 | |||
pageinspect | Sprawdź zawartość stron bazy danych na niskim poziomie. | 1,7 | 1,7 | 1.8 | 1,9 | 1.11 | 1.12 |
pg_azure_storage | Integracja platformy Azure dla bazy danych PostgreSQL. | 1.3 | 1.3 | 1.3 | 1.3 | ||
pg_buffercache | Zapewnia metodę sprawdzania, co dzieje się w pamięci podręcznej buforu udostępnionego w czasie rzeczywistym. | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 | 1.4 |
pg_cron | Harmonogram zadań dla bazy danych PostgreSQL. | 1.5 | 1.6 | 1.6 | 1.6 | 1.6 | 1.6 |
pg_freespacemap | Sprawdź mapę wolnego miejsca (FSM). | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
pg_prewarm | Zapewnia sposób ładowania danych relacyjnych do pamięci podręcznej buforu. | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
pg_stat_statements | Zapewnia metodę śledzenia statystyk wykonywania wszystkich instrukcji SQL wykonywanych przez serwer. Aby uzyskać informacje o tym rozszerzeniu, zobacz sekcję "pg_stat_statements". | 1.6 | 1,7 | 1.8 | 1,9 | 1.10 | 1.10 |
pg_visibility | Zapoznaj się z mapą widoczności (VM) i informacjami o widoczności na poziomie strony. | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
pgrowlocks | Zapewnia metodę wyświetlania informacji o blokadzie na poziomie wiersza. | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
pgstattuple | Zapewnia metodę wyświetlania statystyk na poziomie krotki. | 1.5 | 1.5 | 1.5 | 1.5 | 1.5 | 1.5 |
postgres_fdw | Otoka danych obcych używana do uzyskiwania dostępu do danych przechowywanych na zewnętrznych serwerach PostgreSQL. Aby uzyskać informacje na temat tego rozszerzenia, zobacz sekcję "dblink and postgres_fdw". | 1.0 | 1.0 | 1.0 | 1.1 | 1.1 | 1.1 |
sslinfo | Informacje o certyfikatach TLS/SSL. | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
tsm_system_rows | TABLESAMPLE, metoda, która akceptuje liczbę wierszy jako limit. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
tsm_system_time | TABLESAMPLE, metoda, która akceptuje czas w milisekundach jako limit. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
xml2 | Wykonywanie zapytań XPath i XSLT. | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
Rozszerzenie pgvector
Rozszerzenie | Opis | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 16 |
---|---|---|---|---|---|---|---|
pgvector | Wyszukiwanie podobieństwa wektorów typu open source dla bazy danych Postgres | 0.5.1 | 0.7.0 | 0.7.0 | 0.7.0 | 0.7.0 | 0.7.0 |
Rozszerzenia PostGIS
Rozszerzenie | Opis | PG 11 | PG 12 | PG 13 | PG 14 | PG 15 | PG 16 |
---|---|---|---|---|---|---|---|
PostGIS | Obiekty przestrzenne i geograficzne dla bazy danych PostgreSQL. | 3.3.4 | 3.4.1 | 3.4.1 | 3.4.1 | 3.4.1 | 3.4.1 |
address_standardizer | Służy do analizowania adresu do elementów składowych. Służy do obsługi kroku normalizacji adresów geokodowania. | 3.3.4 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 |
postgis_sfcgal | Funkcje PostGIS SFCGAL. | 3.3.4 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 |
postgis_topology | Funkcje i typy przestrzenne topologii postGIS. | 3.3.4 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 |
pg_stat_statements
Rozszerzenie pg_stat_statements jest wstępnie ładowane w każdym klastrze usługi Azure Cosmos DB for PostgreSQL w celu zapewnienia sposobu śledzenia statystyk wykonywania instrukcji SQL.
Ustawienie pg_stat_statements.track
określa, jakie instrukcje są liczone przez rozszerzenie. Wartość domyślna to , co oznacza, że wszystkie instrukcje top
wydane bezpośrednio przez klientów są śledzone. Dwa pozostałe poziomy śledzenia to none
i all
.
Istnieje kompromis między informacjami wykonywania zapytania, pg_stat_statements zapewnia i wpływ na wydajność serwera, ponieważ rejestruje każdą instrukcję SQL. Jeśli nie korzystasz aktywnie z rozszerzenia pg_stat_statements, zalecamy ustawienie wartości pg_stat_statements.track
none
. Niektóre usługi monitorowania innych firm mogą polegać na pg_stat_statements w celu dostarczania szczegółowych informacji o wydajności zapytań, więc upewnij się, czy jest to przypadek dla Ciebie, czy nie.
dblink i postgres_fdw
Możesz użyć narzędzia dblink i postgres_fdw, aby nawiązać połączenie z jednego serwera PostgreSQL z inną bazą danych lub z inną bazą danych na tym samym serwerze. Serwer odbierający musi zezwalać na połączenia z serwera wysyłającego przez zaporę. Aby używać tych rozszerzeń do nawiązywania połączenia między klastrami usługi Azure Cosmos DB for PostgreSQL z dostępem publicznym, ustaw opcję Zezwalaj usługom i zasobom platformy Azure na dostęp do tego klastra (lub serwera) na wartość WŁ. Należy również włączyć to ustawienie, jeśli chcesz użyć rozszerzeń, aby pętli z powrotem do tego samego serwera. Ustawienie Zezwalaj usługom i zasobom platformy Azure na dostęp do tego klastra można znaleźć na stronie witryny Azure Portal dla klastra w obszarze Sieć. Obecnie połączenia wychodzące z usługi Azure Cosmos DB for PostgreSQL nie są obsługiwane.
rozszerzenie orafce
utl_file funkcje są wyłączone w rozszerzeniu orafce.
Następne kroki
- Dowiedz się więcej o obsługiwanych wersjach bazy danych PostgreSQL.