Offizielle PostgreSQL-Erweiterungsmodule
PostgreSQL ist ein leistungsstarkes, quelloffenes objekt-relationales Datenbanksystem mit einer Vielzahl von Erweiterungsmodulen, die seine Funktionalität erweitern. ServBay enthält alle offiziellen Erweiterungsmodule von PostgreSQL, sodass Benutzer diese Module problemlos nutzen können, um verschiedene komplexe Anforderungen zu erfüllen. Im Folgenden sind einige häufig verwendete offizielle PostgreSQL-Erweiterungsmodule und ihre kurze Beschreibung aufgeführt.
Häufig benutze Erweiterungsmodule
1. pg_stat_statements
Funktion: Sammeln und Aufzeichnen statistischer Informationen über die Ausführung von SQL-Anweisungen.
Zweck: Unterstützung von Datenbankadministratoren bei der Analyse und Optimierung der Abfrageleistung.
Installationsbefehl:
CREATE EXTENSION pg_stat_statements;
2. pg_trgm
Funktion: Bietet Ähnlichkeitssuche basierend auf Trigrammen.
Zweck: Verwendung für unscharfe Übereinstimmungen, Volltextsuche usw.
Installationsbefehl:
CREATE EXTENSION pg_trgm;
3. hstore
Funktion: Bietet Schlüssel-Wert-Speicherfunktionalität.
Zweck: Geeignet für die Speicherung von dynamischen Eigenschaften wie Konfigurationsdaten, Metadaten usw.
Installationsbefehl:
CREATE EXTENSION hstore;
4. citext
Funktion: Bietet eine Groß-/Kleinschreibung-unabhängige Texttyp-Unterstützung.
Zweck: Verwendung in Szenarien, die keine Groß-/Kleinschreibungsunterscheidung erfordern, wie Benutzernamen, E-Mail-Adressen usw.
Installationsbefehl:
CREATE EXTENSION citext;
5. uuid-ossp
Funktion: Generiert UUIDs (Universally Unique Identifiers).
Zweck: Verwendung in Szenarien, die eindeutige Bezeichner erfordern, wie Primärschlüssel, Sitzungs-IDs usw.
Installationsbefehl:
CREATE EXTENSION "uuid-ossp";
6. intarray
Funktion: Bietet zusätzliche Operationen für Integer-Arrays.
Zweck: Geeignet für Szenarien, die komplexe Operationen auf Integer-Arrays erfordern.
Installationsbefehl:
CREATE EXTENSION intarray;
7. btree_gin
Funktion: Bietet B-Baum-Operationen basierend auf GIN-Indizes.
Zweck: Verwendung in Szenarien, die effizientes Indexieren und Abfragen erfordern.
Installationsbefehl:
CREATE EXTENSION btree_gin;
8. btree_gist
Funktion: Bietet B-Baum-Operationen basierend auf GiST-Indizes.
Zweck: Verwendung in Szenarien, die mehrdimensionale Indizes und komplexe Abfragen erfordern.
Installationsbefehl:
CREATE EXTENSION btree_gist;
9. cube
Funktion: Bietet Unterstützung für mehrdimensionale Daten.
Zweck: Geeignet für Szenarien, die Verarbeitung von mehrdimensionalen Daten erfordern, wie Data Warehousing, OLAP-Analysen usw.
Installationsbefehl:
CREATE EXTENSION cube;
10. fuzzystrmatch
Funktion: Bietet unscharfe Zeichenfolgenabgleichsfunktionalität.
Zweck: Verwendung für unscharfe Suche, Datenbereinigung usw.
Installationsbefehl:
CREATE EXTENSION fuzzystrmatch;
11. plpgsql
Funktion: Unterstützung der prozeduralen Sprache PL/pgSQL.
Zweck: Verwendung zum Schreiben von gespeicherten Prozeduren und Triggern.
Installationsbefehl:
CREATE EXTENSION plpgsql;
12. tablefunc
Funktion: Bietet Unterstützung für Tabellenfunktionen.
Zweck: Verwendung für Kreuztabellenabfragen, Daten-Pivots usw.
Installationsbefehl:
CREATE EXTENSION tablefunc;
13. dblink
Funktion: Bietet die Funktionalität der Verbindungen zwischen Datenbanken.
Zweck: Verwendung für das Abfragen von Daten aus einer anderen Datenbank.
Installationsbefehl:
CREATE EXTENSION dblink;
14. postgres_fdw
Funktion: Bietet Zugriff auf externe PostgreSQL-Datenbanken.
Zweck: Verwendung für bereichsübergreifende Datenbankabfragen und -integration.
Installationsbefehl:
CREATE EXTENSION postgres_fdw;
15. pgcrypto
Funktion: Bietet Verschlüsselungs- und Entschlüsselungsfunktionen.
Zweck: Verwendung für Datenverschlüsselung, Hashing und andere Sicherheitsanforderungen.
Installationsbefehl:
CREATE EXTENSION pgcrypto;
Installation und Verwendung von Erweiterungsmodulen
In ServBay können Sie die offiziellen PostgreSQL-Erweiterungsmodule durch folgende Schritte installieren und verwenden:
Mit der PostgreSQL-Datenbank verbinden:
bashpsql -U your_username -d your_database
1Erweiterungsmodul installieren:
sqlCREATE EXTENSION module_name;
1Installation überprüfen:
sql\dx
1
Unten ist ein Beispiel für die Aktivierung von pg_trgm
:
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
Abfragen der PostgreSQL-Inklusivmodule
In ServBay können Sie die enthaltenen PostgreSQL-Module durch den folgenden Befehl anzeigen:
SELECT * FROM pg_available_extensions order by name;
Ein typisches Ergebnis sieht wie folgt aus:
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
Mit diesen Erweiterungsmodulen können Sie die Funktionen von PostgreSQL erweitern, um verschiedene komplexe Anforderungen zu erfüllen. ServBay enthält alle offiziellen Module von PostgreSQL, und Benutzer können sie nach Bedarf installieren und verwenden.