PostgreSQL için Azure Veritabanı'ndaki PostgreSQL uzantıları - Tek Sunucu

ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Veritabanı - Tek Sunucu

Önemli

PostgreSQL için Azure Veritabanı - Tek Sunucu kullanımdan kaldırma yolundadır. PostgreSQL için Azure Veritabanı - Esnek Sunucu'ya yükseltmenizi kesinlikle öneririz. PostgreSQL için Azure Veritabanı - Esnek Sunucu'ya geçiş hakkında daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı Tek Sunucuya ne oluyor?.

PostgreSQL, uzantıları kullanarak veritabanınızın işlevselliğini genişletme olanağı sağlar. Uzantılar birden çok ilgili SQL nesnesini tek bir komutla veritabanınıza yüklenip kaldırılabilecek bir paket haline getirir. Veritabanınıza yüklenen uzantılar, yerleşik özellikler gibi çalışır.

PostgreSQL uzantılarını kullanma

PostgreSQL uzantılarının kullanılabilmesi için önce veritabanınıza yüklenmesi gerekir. Belirli bir uzantıyı yüklemek için paketlenmiş nesneleri veritabanınıza yüklemek üzere psql aracından CREATE EXTENSION komutunu çalıştırın.

PostgreSQL için Azure Veritabanı aşağıda listelenen anahtar uzantılarının bir alt kümesini destekler. Bu bilgiler, çalıştırılarak SELECT * FROM pg_available_extensions;da kullanılabilir. Listelenenlerin dışındaki uzantılar desteklenmez. PostgreSQL için Azure Veritabanı kendi uzantınızı oluşturamazsınız.

Postgres 11 uzantıları

Postgres sürüm 11'e sahip PostgreSQL için Azure Veritabanı sunucularda aşağıdaki uzantılar kullanılabilir.

Uzantı Uzantı sürümü Açıklama
address_standardizer 2.5.1 Bir adresi bileşen öğelerine ayrıştırmak için kullanılır.
address_standardizer_data_us 2.5.1 Adres Standardizer ABD veri kümesi örneği
btree_gin 1.3 GIN'de ortak veri türlerini dizine ekleme desteği
btree_gist 1.5 GiST'de ortak veri türlerini dizine ekleme desteği
citext 1.5 büyük/küçük harfe duyarlı olmayan karakter dizeleri için veri türü
Küp 1.4 çok boyutlu küpler için veri türü
Dblink 1.2 veritabanı içinden diğer PostgreSQL veritabanlarına bağlanma
dict_int 1.0 tamsayılar için metin arama sözlüğü şablonu
toprakçılık 1.1 Dünya yüzeyindeki büyük daire mesafelerini hesaplama
fuzzystrmatch 1.1 dizeler arasındaki benzerlikleri ve uzaklığı belirleme
hstore 1.5 (anahtar, değer) çiftlerinin kümelerini depolamak için veri türü
hipopg 1.1.2 PostgreSQL için varsayımsal dizinler
intarray 1.2 tamsayıların 1-B dizileri için işlevler, işleçler ve dizin desteği
ısn 1.2 uluslararası ürün numaralandırma standartları için veri türleri
ltree 1.1 hiyerarşik ağaç benzeri yapılar için veri türü
orafce 3.7 Ticari RDBMS'den işlevlerin ve paketlerin bir alt kümesini öykünen işlevler ve işleçler
pgaudit 1.3.1 denetim işlevi sağlar
pgcrypto 1.3 şifreleme işlevleri
pgrouting 2.6.2 pgRouting Uzantısı
pgrowlocks 1.2 satır düzeyi kilitleme bilgilerini göster
pgstattuple 1.5 tanımlama grubu düzeyinde istatistikleri göster
pg_buffercache 1.3 paylaşılan arabellek önbelleğini inceleme
pg_partman 4.0.0 Bölümlenmiş tabloları zamana veya kimliklere göre yönetmek için uzantı
pg_prewarm 1.2 prewarm ilişki verileri
pg_stat_statements 1.6 yürütülen tüm SQL deyimlerinin yürütme istatistiklerini izleme
pg_trgm 1.4 metin benzerliği ölçümü ve trigramlara göre dizin araması
plpgsql 1.0 PL/pgSQL yordam dili
plv8 2.3.11 PL/JavaScript (v8) güvenilen yordam dili
postgis 2.5.1 PostGIS geometrisi, coğrafya ve raster uzamsal türleri ve işlevleri
postgis_sfcgal 2.5.1 PostGIS SFCGAL işlevleri
postgis_tiger_geocoder 2.5.1 PostGIS tiger geocoder ve ters coğrafi kodlayıcı
postgis_topology 2.5.1 PostGIS topolojisi uzamsal türleri ve işlevleri
postgres_fdw 1.0 uzak PostgreSQL sunucuları için yabancı veri sarmalayıcı
tablefunc 1.0 çapraz da dahil olmak üzere tüm tabloları işleyen işlevler
timescaledb 1.7.4 Zaman serisi verileri için ölçeklenebilir eklemeleri ve karmaşık sorguları etkinleştirir
doğru olmayan 1.1 aksanları kaldıran metin arama sözlüğü
uuid-ossp 1.1 evrensel olarak benzersiz tanımlayıcılar (UUID' ler) oluşturma

Postgres 10 uzantıları

Postgres sürüm 10'a sahip PostgreSQL için Azure Veritabanı sunucularda aşağıdaki uzantılar kullanılabilir.

Uzantı Uzantı sürümü Açıklama
address_standardizer 2.5.1 Bir adresi bileşen öğelerine ayrıştırmak için kullanılır.
address_standardizer_data_us 2.5.1 Adres Standardizer ABD veri kümesi örneği
btree_gin 1.3 GIN'de ortak veri türlerini dizine ekleme desteği
btree_gist 1.5 GiST'de ortak veri türlerini dizine ekleme desteği
chkpass 1.0 otomatik şifrelenmiş parolalar için veri türü
citext 1.4 büyük/küçük harfe duyarlı olmayan karakter dizeleri için veri türü
Küp 1.2 çok boyutlu küpler için veri türü
Dblink 1.2 veritabanı içinden diğer PostgreSQL veritabanlarına bağlanma
dict_int 1.0 tamsayılar için metin arama sözlüğü şablonu
toprakçılık 1.1 Dünya yüzeyindeki büyük daire mesafelerini hesaplama
fuzzystrmatch 1.1 dizeler arasındaki benzerlikleri ve uzaklığı belirleme
hstore 1.4 (anahtar, değer) çiftlerinin kümelerini depolamak için veri türü
hipopg 1.1.1 PostgreSQL için varsayımsal dizinler
intarray 1.2 tamsayıların 1-B dizileri için işlevler, işleçler ve dizin desteği
ısn 1.1 uluslararası ürün numaralandırma standartları için veri türleri
ltree 1.1 hiyerarşik ağaç benzeri yapılar için veri türü
orafce 3.7 Ticari RDBMS'den işlevlerin ve paketlerin bir alt kümesini öykünen işlevler ve işleçler
pgaudit 1.2 denetim işlevi sağlar
pgcrypto 1.3 şifreleme işlevleri
pgrouting 2.5.2 pgRouting Uzantısı
pgrowlocks 1.2 satır düzeyi kilitleme bilgilerini göster
pgstattuple 1.5 tanımlama grubu düzeyinde istatistikleri göster
pg_buffercache 1.3 paylaşılan arabellek önbelleğini inceleme
pg_partman 2.6.3 Bölümlenmiş tabloları zamana veya kimliklere göre yönetmek için uzantı
pg_prewarm 1.1 prewarm ilişki verileri
pg_stat_statements 1.6 yürütülen tüm SQL deyimlerinin yürütme istatistiklerini izleme
pg_trgm 1.3 metin benzerliği ölçümü ve trigramlara göre dizin araması
plpgsql 1.0 PL/pgSQL yordam dili
plv8 2.1.0 PL/JavaScript (v8) güvenilen yordam dili
postgis 2.4.3 PostGIS geometrisi, coğrafya ve raster uzamsal türleri ve işlevleri
postgis_sfcgal 2.4.3 PostGIS SFCGAL işlevleri
postgis_tiger_geocoder 2.4.3 PostGIS tiger geocoder ve ters coğrafi kodlayıcı
postgis_topology 2.4.3 PostGIS topolojisi uzamsal türleri ve işlevleri
postgres_fdw 1.0 uzak PostgreSQL sunucuları için yabancı veri sarmalayıcı
tablefunc 1.0 çapraz da dahil olmak üzere tüm tabloları işleyen işlevler
timescaledb 1.7.4 Zaman serisi verileri için ölçeklenebilir eklemeleri ve karmaşık sorguları etkinleştirir
doğru olmayan 1.1 aksanları kaldıran metin arama sözlüğü
uuid-ossp 1.1 evrensel olarak benzersiz tanımlayıcılar (UUID' ler) oluşturma

Postgres 9.6 uzantıları

Postgres sürüm 9.6'ya sahip PostgreSQL için Azure Veritabanı sunucularda aşağıdaki uzantılar kullanılabilir.

Uzantı Uzantı sürümü Açıklama
address_standardizer 2.3.2 Bir adresi bileşen öğelerine ayrıştırmak için kullanılır.
address_standardizer_data_us 2.3.2 Adres Standardizer ABD veri kümesi örneği
btree_gin 1.0 GIN'de ortak veri türlerini dizine ekleme desteği
btree_gist 1.2 GiST'de ortak veri türlerini dizine ekleme desteği
chkpass 1.0 otomatik şifrelenmiş parolalar için veri türü
citext 1.3 büyük/küçük harfe duyarlı olmayan karakter dizeleri için veri türü
Küp 1.2 çok boyutlu küpler için veri türü
Dblink 1.2 veritabanı içinden diğer PostgreSQL veritabanlarına bağlanma
dict_int 1.0 tamsayılar için metin arama sözlüğü şablonu
toprakçılık 1.1 Dünya yüzeyindeki büyük daire mesafelerini hesaplama
fuzzystrmatch 1.1 dizeler arasındaki benzerlikleri ve uzaklığı belirleme
hstore 1.4 (anahtar, değer) çiftlerinin kümelerini depolamak için veri türü
hipopg 1.1.1 PostgreSQL için varsayımsal dizinler
intarray 1.2 tamsayıların 1-B dizileri için işlevler, işleçler ve dizin desteği
ısn 1.1 uluslararası ürün numaralandırma standartları için veri türleri
ltree 1.1 hiyerarşik ağaç benzeri yapılar için veri türü
orafce 3.7 Ticari RDBMS'den işlevlerin ve paketlerin bir alt kümesini öykünen işlevler ve işleçler
pgaudit 1.1.2 denetim işlevi sağlar
pgcrypto 1.3 şifreleme işlevleri
pgrouting 2.3.2 pgRouting Uzantısı
pgrowlocks 1.2 satır düzeyi kilitleme bilgilerini göster
pgstattuple 1.4 tanımlama grubu düzeyinde istatistikleri göster
pg_buffercache 1.2 paylaşılan arabellek önbelleğini inceleme
pg_partman 2.6.3 Bölümlenmiş tabloları zamana veya kimliklere göre yönetmek için uzantı
pg_prewarm 1.1 prewarm ilişki verileri
pg_stat_statements 1.4 yürütülen tüm SQL deyimlerinin yürütme istatistiklerini izleme
pg_trgm 1.3 metin benzerliği ölçümü ve trigramlara göre dizin araması
plpgsql 1.0 PL/pgSQL yordam dili
plv8 2.1.0 PL/JavaScript (v8) güvenilen yordam dili
postgis 2.3.2 PostGIS geometrisi, coğrafya ve raster uzamsal türleri ve işlevleri
postgis_sfcgal 2.3.2 PostGIS SFCGAL işlevleri
postgis_tiger_geocoder 2.3.2 PostGIS tiger geocoder ve ters coğrafi kodlayıcı
postgis_topology 2.3.2 PostGIS topolojisi uzamsal türleri ve işlevleri
postgres_fdw 1.0 uzak PostgreSQL sunucuları için yabancı veri sarmalayıcı
tablefunc 1.0 çapraz da dahil olmak üzere tüm tabloları işleyen işlevler
timescaledb 1.7.4 Zaman serisi verileri için ölçeklenebilir eklemeleri ve karmaşık sorguları etkinleştirir
doğru olmayan 1.1 aksanları kaldıran metin arama sözlüğü
uuid-ossp 1.1 evrensel olarak benzersiz tanımlayıcılar (UUID' ler) oluşturma

Postgres 9.5 uzantıları

Not

PostgreSQL sürüm 9.5 kullanımdan kaldırıldı.

Postgres sürüm 9.5'e sahip PostgreSQL için Azure Veritabanı sunucularda aşağıdaki uzantılar kullanılabilir.

Uzantı Uzantı sürümü Açıklama
address_standardizer 2.3.0 Bir adresi bileşen öğelerine ayrıştırmak için kullanılır.
address_standardizer_data_us 2.3.0 Adres Standardizer ABD veri kümesi örneği
btree_gin 1.0 GIN'de ortak veri türlerini dizine ekleme desteği
btree_gist 1.1 GiST'de ortak veri türlerini dizine ekleme desteği
chkpass 1.0 otomatik şifrelenmiş parolalar için veri türü
citext 1.1 büyük/küçük harfe duyarlı olmayan karakter dizeleri için veri türü
Küp 1.0 çok boyutlu küpler için veri türü
Dblink 1.1 veritabanı içinden diğer PostgreSQL veritabanlarına bağlanma
dict_int 1.0 tamsayılar için metin arama sözlüğü şablonu
toprakçılık 1.0 Dünya yüzeyindeki büyük daire mesafelerini hesaplama
fuzzystrmatch 1.0 dizeler arasındaki benzerlikleri ve uzaklığı belirleme
hstore 1.3 (anahtar, değer) çiftlerinin kümelerini depolamak için veri türü
hipopg 1.1.1 PostgreSQL için varsayımsal dizinler
intarray 1.0 tamsayıların 1-B dizileri için işlevler, işleçler ve dizin desteği
ısn 1.0 uluslararası ürün numaralandırma standartları için veri türleri
ltree 1.0 hiyerarşik ağaç benzeri yapılar için veri türü
orafce 3.7 Ticari RDBMS'den işlevlerin ve paketlerin bir alt kümesini öykünen işlevler ve işleçler
pgaudit 1.0.7 denetim işlevi sağlar
pgcrypto 1.2 şifreleme işlevleri
pgrouting 2.3.0 pgRouting Uzantısı
pgrowlocks 1.1 satır düzeyi kilitleme bilgilerini göster
pgstattuple 1.3 tanımlama grubu düzeyinde istatistikleri göster
pg_buffercache 1.1 paylaşılan arabellek önbelleğini inceleme
pg_partman 2.6.3 Bölümlenmiş tabloları zamana veya kimliklere göre yönetmek için uzantı
pg_prewarm 1.0 prewarm ilişki verileri
pg_stat_statements 1.3 yürütülen tüm SQL deyimlerinin yürütme istatistiklerini izleme
pg_trgm 1.1 metin benzerliği ölçümü ve trigramlara göre dizin araması
plpgsql 1.0 PL/pgSQL yordam dili
postgis 2.3.0 PostGIS geometrisi, coğrafya ve raster uzamsal türleri ve işlevleri
postgis_sfcgal 2.3.0 PostGIS SFCGAL işlevleri
postgis_tiger_geocoder 2.3.0 PostGIS tiger geocoder ve ters coğrafi kodlayıcı
postgis_topology 2.3.0 PostGIS topolojisi uzamsal türleri ve işlevleri
postgres_fdw 1.0 uzak PostgreSQL sunucuları için yabancı veri sarmalayıcı
tablefunc 1.0 çapraz da dahil olmak üzere tüm tabloları işleyen işlevler
doğru olmayan 1.0 aksanları kaldıran metin arama sözlüğü
uuid-ossp 1.0 evrensel olarak benzersiz tanımlayıcılar (UUID' ler) oluşturma

pg_stat_statements

pg_stat_statements uzantısı, SQL deyimlerinin yürütme istatistiklerini izlemenizi sağlamak için her PostgreSQL için Azure Veritabanı sunucusuna önceden yüklenir. uzantı tarafından hangi deyimlerin sayıldığını denetleyen ayarı pg_stat_statements.trackvarsayılan olarak ayarlanır; yani doğrudan istemciler toptarafından verilen tüm deyimler izlenir. Diğer iki izleme düzeyi ve allşeklindedirnone. Bu ayar, Azure portalı veya Azure CLI aracılığıyla sunucu parametresi olarak yapılandırılabilir.

pg_stat_statements tarafından sağlanan sorgu yürütme bilgilerinin bir dezavantajı vardır; bu her SQL sorgusunu günlüğe kaydettiğinden sunucu performansını etkiler. pg_stat_statements uzantısını etkin olarak kullanmıyorsanız olarak ayarlamanız pg_stat_statements.tracknoneönerilir. Bazı üçüncü taraf izleme hizmetlerinin sorgu performansı içgörüleri sunmak için pg_stat_statements güvenebileceğini unutmayın; bu nedenle bunun sizin için geçerli olup olmadığını onaylayın.

dblink ve postgres_fdw , bir PostgreSQL sunucusundan diğerine veya aynı sunucudaki başka bir veritabanına bağlanmanızı sağlar. Alıcı sunucunun, gönderen sunucudan güvenlik duvarı üzerinden bağlantılara izin vermesi gerekir. PostgreSQL için Azure Veritabanı sunucuları arasında bağlanmak için bu uzantılar kullanılırken, "Azure hizmetlerine erişime izin ver" ayarı ON olarak ayarlanarak yapılabilir. Aynı sunucuya geri döngü yapmak için uzantıları kullanmak istiyorsanız bu da gereklidir. "Azure hizmetlerine erişime izin ver" ayarı Postgres sunucusunun Azure portal sayfasında Bağlan ion Security altında bulunabilir. "Azure hizmetlerine erişime izin ver" AÇILMASI, tüm Azure IP'lerini izin verme listesine ekler.

Not

Şu anda, postgres_fdw gibi yabancı veri sarmalayıcı uzantıları aracılığıyla PostgreSQL için Azure Veritabanı giden bağlantılar, aynı Azure bölgesindeki diğer PostgreSQL için Azure Veritabanı sunuculara bağlantılar dışında desteklenmemektedir.

uuid

uuid-ossp uzantısından kullanmayı planlıyorsanız, performans avantajları için pgcrypto uzantısıylakarşılaştırmayı gen_random_uuid() göz önünde bulundurun.uuid_generate_v4()

pgAudit

pgAudit uzantısı oturum ve nesne denetim günlüğü sağlar. PostgreSQL için Azure Veritabanı'da bu uzantının nasıl kullanılacağını öğrenmek için denetim kavramları makalesini ziyaret edin.

pg_prewarm

pg_prewarm uzantısı ilişkisel verileri önbelleğe yükler. Önbelleklerinizi önceden hazırlamanız, sorgularınızın yeniden başlatma sonrasında ilk çalıştırmalarında daha iyi yanıt sürelerine sahip olduğu anlamına gelir. Postgres 10 ve altı sürümlerde, önceden hazırlama işlemi prewarm işlevi kullanılarak el ile gerçekleştirilir.

Postgres 11 ve üzeri sürümlerde, önceden hazırlamayı otomatik olarak gerçekleşecek şekilde yapılandırabilirsiniz. Değişikliği uygulamak için parametrenizin listesine pg_prewarm eklemeniz ve sunucuyu yeniden başlatmanız shared_preload_libraries gerekir. Parametreler Azure portalından, CLI'dan, REST API'den veya ARM şablonundan ayarlanabilir.

TimescaleDB

TimescaleDB, PostgreSQL uzantısı olarak paketlenmiş bir zaman serisi veritabanıdır. TimescaleDB, zaman serisi iş yükleri için zaman odaklı analitik işlevler, iyileştirmeler ve ölçeklendirmeler sağlar.

Timescale, Inc.'in kayıtlı ticari markası TimescaleDB hakkında daha fazla bilgi edinin. PostgreSQL için Azure Veritabanı TimescaleDB sağlarApache-2 sürümü.

TimescaleDB'yi yükleme

TimescaleDB'yi yüklemek için sunucunun paylaşılan ön yükleme kitaplıklarına eklemeniz gerekir. Postgres'in shared_preload_libraries parametresinde yapılan bir değişiklik, sunucunun yeniden başlatılmasının etkili olmasını gerektirir. Azure portalını veya Azure CLI'yi kullanarak parametreleri değiştirebilirsiniz.

Azure portalını kullanma:

  1. PostgreSQL için Azure Veritabanı sunucunuzu seçin.

  2. Kenar çubuğunda Sunucu Parametreleri'ni seçin.

  3. parametresini shared_preload_libraries arayın.

  4. TimescaleDB'yi seçin.

  5. Değişikliklerinizi korumak için Kaydet'i seçin. Değişiklik kaydedildikten sonra bir bildirim alırsınız.

  6. Bildirimden sonra, bu değişiklikleri uygulamak için sunucuyu yeniden başlatın . Bir sunucuyu yeniden başlatmayı öğrenmek için bkz. PostgreSQL için Azure Veritabanı sunucusunu yeniden başlatma.

Artık Postgres veritabanınızda TimescaleDB'yi etkinleştirebilirsiniz. Veritabanına Bağlan ve aşağıdaki komutu çalıştırın:

CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;

İpucu

Bir hata görürseniz, shared_preload_libraries kaydettikten sonra sunucunuzu yeniden başlattığınızdan emin olun.

Artık sıfırdan bir TimescaleDB hiper tablosu oluşturabilir veya PostgreSQL'de mevcut zaman serisi verilerini geçirebilirsiniz.

pg_dump ve pg_restore kullanarak Zaman Ölçeği veritabanını geri yükleme

pg_dump ve pg_restore kullanarak zaman ölçeği veritabanını geri yüklemek için hedef veritabanında iki yardımcı yordam çalıştırmanız gerekir: timescaledb_pre_restore() ve timescaledb_post restore().

İlk olarak hedef veritabanını hazırlayın:

--create the new database where you'll perform the restore
CREATE DATABASE tutorial;
\c tutorial --connect to the database 
CREATE EXTENSION timescaledb;

SELECT timescaledb_pre_restore();

Artık özgün veritabanında pg_dump çalıştırabilir ve ardından pg_restore yapabilirsiniz. Geri yükleme işleminden sonra, geri yüklenen veritabanında aşağıdaki komutu çalıştırdığınızdan emin olun:

SELECT timescaledb_post_restore();

Geri yükleme yöntemi wiith Timescale özellikli veritabanı hakkında daha fazla bilgi için Zaman ölçeği belgelerine bakın

timescaledb-backup kullanarak Timescale veritabanını geri yükleme

Yukarıda listelenen yordamı çalıştırırken SELECT timescaledb_post_restore() timescaledb.restoreing bayrağını güncelleştirirken izinler reddedildi hatası alabilirsiniz. Bunun nedeni, Cloud PaaS veritabanı hizmetlerindeki ALTER DATABASE izninin sınırlı olmasıdır. Bu durumda, Zaman Ölçeği veritabanını yedeklemek ve geri yüklemek için aracı kullanarak timescaledb-backup alternatif yöntem gerçekleştirebilirsiniz. Timescaledb-backup, Bir TimescaleDB veritabanının dökümünü alma ve geri yükleme işlemlerini daha basit, daha az hataya açık ve daha performanslı hale getirmek için bir programdır. Bunu yapmak için aşağıdakileri yapmalısınız

  1. Burada ayrıntılı olarak açıklandığı gibi araçları yükleme
  2. Hedef PostgreSQL için Azure Veritabanı sunucusu ve veritabanı oluşturma
  3. Yukarıda gösterildiği gibi Zaman Ölçeği uzantısını etkinleştirme
  4. Kullanıcıya ts-restore tarafından kullanılacak azure_pg_admin rolü verme
  5. Veritabanını geri yüklemek için ts-restore komutunu çalıştırın

Bu yardımcı programlar hakkında daha fazla ayrıntıya buradan ulaşabilirsiniz.

Not

Azure'a geri yüklemek için yardımcı programları kullanırkentimescale-backup, PostgresQL için esnek olmayan Azure Veritabanı kullanıcı adlarının biçimi kullanması gerektiğinden<user@db-name>, değerini karakter kodlamasıyla %40 değiştirmeniz @ gerekir.

Sonraki adımlar

Kullanmak istediğiniz uzantıyı görmüyorsanız bize bildirin. Mevcut istekler için oy verin veya geri bildirim forumumuzda yeni geri bildirim istekleri oluşturun.