Udostępnij za pomocą


Rozszerzenia PostgreSQL w usłudze Azure Cosmos DB for PostgreSQL

Ważne

Usługa Azure Cosmos DB for PostgreSQL nie jest już obsługiwana w przypadku nowych projektów. Nie używaj tej usługi dla nowych projektów. Zamiast tego użyj jednej z tych dwóch usług:

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 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 się nie powiedzie z powodu błędu odmowy dostępu, spróbuj użyć funkcji create_extension(). 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
citext Udostępnia typ znakowego ciągu, który nie uwzględnia wielkości liter. 1.5 1.6 1.6 1.6 1.6 1.6
sześcian Zapewnia typ danych dla wielowymiarowych kostek. 1.4 1.4 1.4 1.5 1.5 1.5
Hll Udostępnia strukturę danych 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 do on-line gromadzenia statystyk opartych na randze, takich jak kwantyle i średnie obcięte. 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
bez akcentu 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
fuzzystrmatch 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 liczb całkowitych wolnymi od wartości null. 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 do przeprowadzenia operacji na uszkodzonej relacji. 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 tabelami przestawnymi. 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 implementacji 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 Ładowalny język proceduralny 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 Umożliwia sprawdzenie, co dzieje się we wspólnej pamięci podręcznej 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
czas_systemowy_tsm 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
standardyzator adresów Służy do parsowania adresu na elementy składowe. Służy do wspierania kroku normalizacji adresu podczas 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 domyślnie załadowane w każdym klastrze usługi Azure Cosmos DB for PostgreSQL, umożliwiając śledzenie statystyk wykonywania zapytań SQL.

Ustawienie pg_stat_statements.track określa, jakie instrukcje są liczone przez rozszerzenie. Wartością domyślną jest top, co oznacza, że wszystkie instrukcje wydane bezpośrednio przez klientów są śledzone. Dwa pozostałe poziomy śledzenia to none i all.

Istnieje kompromis między informacjami dostarczanymi przez pg_stat_statements na temat wykonywania zapytania a wpływem 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.tracknone. Niektóre usługi monitorowania innych firm mogą polegać na pg_stat_statements do dostarczania informacji o wydajności zapytań, więc upewnij się, czy dotyczy to Ciebie.

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 WŁĄCZ. 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