Udostępnij za pośrednictwem


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 topwydane 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.

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