PostgreSQL Resmi Uzantı Modülleri
PostgreSQL, güçlü bir açık kaynaklı nesne ilişkisel veritabanı sistemidir ve işlevselliğini artırmak için pek çok uzantı modülü içerir. ServBay, PostgreSQL'in tüm resmi uzantı modüllerini içinde barındırır ve kullanıcıların çeşitli karmaşık uygulama gereksinimlerini karşılamak için bu modülleri kolayca kullanmasına olanak tanır. İşte yaygın olarak kullanılan bazı PostgreSQL resmi uzantı modülleri ve kısa açıklamaları:
Yaygın Uzantı Modülleri
1. pg_stat_statements
İşlev: SQL ifadelerinin yürütme istatistiklerini toplar ve kaydeder.
Kullanım Alanı: Veritabanı yöneticilerinin sorgu performansını analiz etmesine ve optimize etmesine yardımcı olur.
Kurulum Komutu:
CREATE EXTENSION pg_stat_statements;
2. pg_trgm
İşlev: Üçlü (trigram) bazlı dize benzerlik arama işlevi sağlar.
Kullanım Alanı: Bulanık eşleştirme, tam metin arama gibi senaryolarda kullanılır.
Kurulum Komutu:
CREATE EXTENSION pg_trgm;
3. hstore
İşlev: Anahtar-değer çiftleri için depolama işlevi sağlar.
Kullanım Alanı: Dinamik özelliklerin depolanması gerektiği durumlar için uygundur, örneğin, yapılandırma verileri, meta veriler vb.
Kurulum Komutu:
CREATE EXTENSION hstore;
4. citext
İşlev: Büyük/küçük harf duyarsız metin türü sağlar.
Kullanım Alanı: Kullanıcı adları, e-posta adresleri gibi büyük/küçük harf duyarsız karşılaştırmaların gerektiği durumlardadır.
Kurulum Komutu:
CREATE EXTENSION citext;
5. uuid-ossp
İşlev: UUID (Evrensel Benzersiz Tanımlayıcı) oluşturur.
Kullanım Alanı: Benzersiz tanımlayıcıların gerektiği durumlar için uygundur, örneğin, anahtarlar, oturum ID'leri vb.
Kurulum Komutu:
CREATE EXTENSION "uuid-ossp";
6. intarray
İşlev: Tamsayı dizileri için ek işlem işlevleri sağlar.
Kullanım Alanı: Tamsayı dizileri üzerinde karmaşık işlemler gerektiğinde uygundur.
Kurulum Komutu:
CREATE EXTENSION intarray;
7. btree_gin
İşlev: GIN index bazlı B-tree işlemleri için destek sağlar.
Kullanım Alanı: Yüksek verimli indeksleme ve sorgulama gerektiren durumlardadır.
Kurulum Komutu:
CREATE EXTENSION btree_gin;
8. btree_gist
İşlev: GiST index bazlı B-tree işlemleri için destek sağlar.
Kullanım Alanı: Çok boyutlu indeksleme ve karmaşık sorgular gerektiren durumlardadır.
Kurulum Komutu:
CREATE EXTENSION btree_gist;
9. cube
İşlev: Çok boyutlu veriler için destek sağlar.
Kullanım Alanı: Veri ambarı, OLAP analizi gibi çok boyutlu verilerle çalışılması gereken durumlardadır.
Kurulum Komutu:
CREATE EXTENSION cube;
10. fuzzystrmatch
İşlev: Dizeler için bulanık eşleşme işlevi sağlar.
Kullanım Alanı: Bulanık arama, veri temizleme gibi senaryolarda kullanılır.
Kurulum Komutu:
CREATE EXTENSION fuzzystrmatch;
11. plpgsql
İşlev: PL/pgSQL işlem dili desteği sağlar.
Kullanım Alanı: Saklı prosedürler ve tetikleyiciler yazmak için kullanılır.
Kurulum Komutu:
CREATE EXTENSION plpgsql;
12. tablefunc
İşlev: Tablo işlevleri için destek sağlar.
Kullanım Alanı: Çapraz tablo sorguları, veri özetleme gibi senaryolar için uygundur.
Kurulum Komutu:
CREATE EXTENSION tablefunc;
13. dblink
İşlev: Veritabanları arası bağlantı işlevi sağlar.
Kullanım Alanı: Bir veritabanından diğerine veri sorgulamak için kullanılır.
Kurulum Komutu:
CREATE EXTENSION dblink;
14. postgres_fdw
İşlev: Harici PostgreSQL veritabanlarına erişim işlevi sağlar.
Kullanım Alanı: Veritabanları arası sorgulama ve veri entegrasyonu için kullanılır.
Kurulum Komutu:
CREATE EXTENSION postgres_fdw;
15. pgcrypto
İşlev: Şifreleme ve şifre çözme işlevi sağlar.
Kullanım Alanı: Veri şifreleme ve güvenlik gereksinimleri için kullanılır.
Kurulum Komutu:
CREATE EXTENSION pgcrypto;
Uzantı Modüllerinin Kurulumu ve Kullanımı
ServBay'de, PostgreSQL'in resmi uzantı modüllerini kurmak ve kullanmak için şu adımları izleyebilirsiniz:
PostgreSQL Veritabanına Bağlanın:
bashpsql -U your_username -d your_database
1Uzantı Modülünü Kurun:
sqlCREATE EXTENSION module_name;
1Kurulumu Doğrulayın:
sql\dx
1
Aşağıda, pg_trgm
uzantısını etkinleştirme örneği verilmiştir:
psql (16.3 (ServBay))
Type "help" for help.
postgres=# \dx
List of installed extensions
Name | Version | Schema | Description
----------+---------+------------+------------------------------
pgcrypto | 1.3 | public | cryptographic functions
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
(2 rows)
postgres=# CREATE EXTENSION pg_trgm;
CREATE EXTENSION
postgres=# \dx
List of installed extensions
Name | Version | Schema | Description
----------+---------+------------+-------------------------------------------------------------------
pg_trgm | 1.6 | public | text similarity measurement and index searching based on trigrams
pgcrypto | 1.3 | public | cryptographic functions
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
(3 rows)
postgres=#
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
PostgreSQL Tarafından Sağlanan Modüllerin Sorgulanması
ServBay'de, PostgreSQL tarafından sağlanan modülleri görüntülemek için aşağıdaki komutu kullanabilirsiniz:
SELECT * FROM pg_available_extensions order by name;
Tipik bir sonuç şu şekildedir:
name | default_version | installed_version | comment
------------------------------+-----------------+-------------------+---------------------------------------------------------------------------------------------------------------------
address_standardizer | 3.4.2 | | Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.
address_standardizer_data_us | 3.4.2 | | Address Standardizer US dataset example
adminpack | 2.1 | | administrative functions for PostgreSQL
amcheck | 1.3 | | functions for verifying relation integrity
autoinc | 1.0 | | functions for autoincrementing fields
bloom | 1.0 | | bloom access method - signature file based index
btree_gin | 1.3 | | support for indexing common datatypes in GIN
btree_gist | 1.7 | | support for indexing common datatypes in GiST
citext | 1.6 | | data type for case-insensitive character strings
cube | 1.5 | | data type for multidimensional cubes
dblink | 1.2 | | connect to other PostgreSQL databases from within a database
dict_int | 1.0 | | text search dictionary template for integers
dict_xsyn | 1.0 | | text search dictionary template for extended synonym processing
earthdistance | 1.1 | | calculate great-circle distances on the surface of the Earth
file_fdw | 1.0 | | foreign-data wrapper for flat file access
fuzzystrmatch | 1.2 | | determine similarities and distance between strings
hstore | 1.8 | | data type for storing sets of (key, value) pairs
insert_username | 1.0 | | functions for tracking who changed a table
intagg | 1.1 | | integer aggregator and enumerator (obsolete)
intarray | 1.5 | | functions, operators, and index support for 1-D arrays of integers
isn | 1.2 | | data types for international product numbering standards
lo | 1.1 | | Large Object maintenance
ltree | 1.2 | | data type for hierarchical tree-like structures
moddatetime | 1.0 | | functions for tracking last modification time
old_snapshot | 1.0 | | utilities in support of old_snapshot_threshold
pageinspect | 1.12 | | inspect the contents of database pages at a low level
pg_buffercache | 1.4 | | examine the shared buffer cache
pg_freespacemap | 1.2 | | examine the free space map (FSM)
pg_jieba | 1.1.1 | | a parser for full-text search of Chinese
pg_prewarm | 1.2 | | prewarm relation data
pg_stat_statements | 1.10 | | track planning and execution statistics of all SQL statements executed
pg_surgery | 1.0 | | extension to perform surgery on a damaged relation
pg_trgm | 1.6 | 1.6 | text similarity measurement and index searching based on trigrams
pg_visibility | 1.2 | | examine the visibility map (VM) and page-level visibility info
pg_walinspect | 1.1 | | functions to inspect contents of PostgreSQL Write-Ahead Log
pgcrypto | 1.3 | 1.3 | cryptographic functions
pgrouting | 3.6.2 | | pgRouting Extension
pgrowlocks | 1.2 | | show row-level locking information
pgstattuple | 1.5 | | show tuple-level statistics
plpgsql | 1.0 | 1.0 | PL/pgSQL procedural language
postgis | 3.4.2 | | PostGIS geometry and geography spatial types and functions
postgis_sfcgal | 3.4.2 | | PostGIS SFCGAL functions
postgis_tiger_geocoder | 3.4.2 | | PostGIS tiger geocoder and reverse geocoder
postgres_fdw | 1.1 | | foreign-data wrapper for remote PostgreSQL servers
refint | 1.0 | | functions for implementing referential integrity (obsolete)
seg | 1.4 | | data type for representing line segments or floating-point intervals
sslinfo | 1.2 | | information about SSL certificates
tablefunc | 1.0 | | functions that manipulate whole tables, including crosstab
tcn | 1.0 | | Triggered change notifications
tsm_system_rows | 1.0 | | TABLESAMPLE method which accepts number of rows as a limit
tsm_system_time | 1.0 | | TABLESAMPLE method which accepts time in milliseconds as a limit
unaccent | 1.1 | | text search dictionary that removes accents
vector | 0.7.0 | | vector data type and ivfflat and hnsw access methods
xml2 | 1.1 | | XPath querying and XSLT
zhparser | 2.2 | | a parser for full-text search of Chinese
(55 rows)
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Bu uzantı modülleri ile PostgreSQL'in işlevselliğini artırabilir ve çeşitli karmaşık uygulama gereksinimlerini karşılayabilirsiniz. ServBay, PostgreSQL'in içerdiği tüm resmi modülleri içerir ve kullanıcılar ihtiyaçlarına göre bu modülleri kurup kullanabilirler.