Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Riferimento alla funzione per Trusted Language Extensions for Postgre SQL
Visualizza la seguente documentazione di riferimento sulle funzioni disponibili in Trusted Language Extensions for SQL Postgre. Utilizzate queste funzioni per installare, registrare, aggiornare e gestire TLEle estensioni, ovvero le estensioni Postgre sviluppate utilizzando il kit di sviluppo Trusted Language SQL Extensions.
Funzioni
- pgtle.available_extensions
- pgtle.available_extension_versions
- pgtle.extension_update_paths
- pgtle.install_extension
- pgtle.install_update_path
- pgtle.register_feature
- pgtle.register_feature_if_not_exists
- pgtle.set_default_version
- pgtle.uninstall_extension(name)
- pgtle.uninstall_extension(name, version)
- pgtle.uninstall_extension_if_exists
- pgtle.uninstall_update_path
- pgtle.uninstall_update_path_if_exists
- pgtle.unregister_feature
- pgtle.unregister_feature_if_exists
pgtle.available_extensions
La funzione pgtle.available_extensions
è progettata per restituire un set. Restituisce tutte TLE le estensioni disponibili nel database. Ogni riga restituita contiene informazioni su una singola TLE estensione.
Prototipo di funzione
pgtle.available_extensions()
Ruolo
Nessuna.
Argomenti
Nessuna.
Output
name
— Il nome dell'TLEestensione.default_version
— La versione dell'TLEestensione da utilizzare quandoCREATE EXTENSION
viene chiamata senza specificare una versione.description
— Una descrizione più dettagliata dell'TLEestensione.
Esempio di utilizzo
SELECT * FROM pgtle.available_extensions();
pgtle.available_extension_versions
La funzione available_extension_versions
è progettata per restituire un set. Restituisce un elenco di tutte le TLE estensioni disponibili e delle relative versioni. Ogni riga contiene informazioni su una versione specifica dell'TLEestensione specificata, incluso se richiede un ruolo specifico.
Prototipo di funzione
pgtle.available_extension_versions()
Ruolo
Nessuna.
Argomenti
Nessuna.
Output
name
— Il nome dell'TLEestensione.version
— La versione dell'TLEestensione.superuser
— Questo valore è sempre validofalse
per TLE le tue estensioni. Le autorizzazioni necessarie per creare l'TLEestensione o aggiornarla sono le stesse necessarie per creare altri oggetti nel database specificato.trusted
— Questo valore è semprefalse
per un'TLEestensione.relocatable
— Questo valore è semprefalse
per un'TLEestensione.schema
— Speciifica il nome dello schema in cui è installata l'TLEestensione.requires
— Un array contenente i nomi di altre estensioni necessarie a questa TLE estensione.description
— Una descrizione dettagliata dell'TLEestensione.
Per ulteriori informazioni sui valori di output, vedete Imballaggio di oggetti correlati in un'estensione > File di estensione
Esempio di utilizzo
SELECT * FROM pgtle.available_extension_versions();
pgtle.extension_update_paths
La funzione extension_update_paths
è progettata per restituire un set. Restituisce un elenco di tutti i possibili percorsi di aggiornamento per un'TLEestensione. Ogni riga include gli aggiornamenti o i downgrade disponibili per quell'estensione. TLE
Prototipo di funzione
pgtle.extension_update_paths(name)
Ruolo
Nessuna.
Argomenti
name
— Il nome dell'TLEestensione da cui ottenere i percorsi di aggiornamento.
Output
source
: la versione di origine di un aggiornamento.target
: la versione di destinazione di un aggiornamento.path
— Il percorso di aggiornamento utilizzato per aggiornare un'TLEestensione da unasource
target
versione all'altra, ad esempio0.1--0.2
.
Esempio di utilizzo
SELECT * FROM pgtle.extension_update_paths('
your-TLE
');
pgtle.install_extension
La install_extension
funzione consente di installare gli artefatti che compongono l'TLEestensione nel database, dopodiché può essere creata utilizzando il comando. CREATE
EXTENSION
Prototipo di funzione
pgtle.install_extension(name text, version text, description text, ext text, requires text[] DEFAULT NULL::text[])
Ruolo
Nessuna.
Argomenti
name
— Il nome dell'estensione. TLE Questo valore viene utilizzato per la chiamataCREATE EXTENSION
.version
— La versione dell'TLEestensione.description
— Una descrizione dettagliata dell'TLEestensione. Questa descrizione viene visualizzata nel campocomment
inpgtle.available_extensions()
.ext
— Il contenuto dell'TLEestensione. Questo valore include gli oggetti, come le funzioni.requires
— Un parametro opzionale che specifica le dipendenze per questa TLE estensione. L'estensionepg_tle
viene aggiunta automaticamente come dipendenza.
Molti di questi argomenti sono gli stessi inclusi in un file di controllo delle estensioni per l'installazione di un'estensione Postgre SQL sul file system di un'istanza Postgre. SQL Per ulteriori informazioni, consultate la sezione File di estensione
Output
Questa funzione restituisce OK
in caso di esito positivo e NULL
in caso di errore.
OK
— L'TLEestensione è stata installata correttamente nel database.NULL
— L'TLEestensione non è stata installata correttamente nel database.
Esempio di utilizzo
SELECT pgtle.install_extension( 'pg_tle_test', '0.1', 'My first pg_tle extension', $_pgtle_$ CREATE FUNCTION my_test() RETURNS INT AS $$ SELECT 42; $$ LANGUAGE SQL IMMUTABLE; $_pgtle_$ );
pgtle.install_update_path
La install_update_path
funzione fornisce un percorso di aggiornamento tra due diverse versioni di un'TLEestensione. Questa funzione consente agli utenti dell'TLEestensione di aggiornarne la versione utilizzando la ALTER EXTENSION ... UPDATE
sintassi.
Prototipo di funzione
pgtle.install_update_path(name text, fromvers text, tovers text, ext text)
Ruolo
pgtle_admin
Argomenti
name
— Il nome dell'TLEestensione. Questo valore viene utilizzato per la chiamataCREATE EXTENSION
.fromvers
— La versione sorgente dell'TLEestensione per l'aggiornamento.tovers
— La versione di destinazione dell'TLEestensione per l'aggiornamento.ext
: i contenuti dell'aggiornamento. Questo valore include gli oggetti, come le funzioni.
Output
Nessuna.
Esempio di utilizzo
SELECT pgtle.install_update_path('pg_tle_test', '0.1', '0.2', $_pgtle_$ CREATE OR REPLACE FUNCTION my_test() RETURNS INT AS $$ SELECT 21; $$ LANGUAGE SQL IMMUTABLE; $_pgtle_$ );
pgtle.register_feature
La register_feature
funzione aggiunge la SQL funzionalità interna di Postgre specificata alla tabella. pgtle.feature_info
Gli SQL hook Postgre sono un esempio di funzionalità interna di Postgre. SQL Il kit di sviluppo Trusted Language Extensions supporta l'uso degli hook Postgre. SQL Attualmente, questa funzione supporta la seguente funzionalità.
passcheck
— Registra l'hook per il controllo delle password con la procedura o la funzione che personalizza il comportamento di controllo delle password di Postgre. SQL
Prototipo di funzione
pgtle.register_feature(proc regproc, feature pg_tle_feature)
Ruolo
pgtle_admin
Argomenti
proc
: il nome di una procedura o funzione memorizzata da utilizzare per la funzionalità.feature
: il nome della funzionalitàpg_tle
(ad esempiopasscheck
) da registrare con la funzione.
Output
Nessuna.
Esempio di utilizzo
SELECT pgtle.register_feature('pw_hook', 'passcheck');
pgtle.register_feature_if_not_exists
La pgtle.register_feature_if_not_exists
funzione aggiunge la funzionalità Postgre specificata alla pgtle.feature_info
tabella e identifica l'TLEestensione o altra procedura o SQL funzione che utilizza la funzione. Per ulteriori informazioni sugli hook e su Trusted Language Extensions, consulta Usare gli SQL hook Postgre con le tue estensioni TLE.
Prototipo di funzione
pgtle.register_feature_if_not_exists(proc regproc, feature pg_tle_feature)
Ruolo
pgtle_admin
Argomenti
proc
— Il nome di una procedura o funzione memorizzata che contiene la logica (codice) da utilizzare come funzionalità per l'estensione. TLE Ad esempio, il codicepw_hook
.feature
— Il nome della funzionalità Postgre da registrare per la SQL TLE funzione. Attualmente, l'unica funzionalità disponibile è l'hookpasscheck
. Per ulteriori informazioni, consulta Hook di verifica della password (passcheck).
Output
Restituisce true
dopo aver registrato la funzionalità per l'estensione specificata. Restituisce false
se la funzionalità è già registrata.
Esempio di utilizzo
SELECT pgtle.register_feature_if_not_exists('pw_hook', 'passcheck');
pgtle.set_default_version
La set_default_version
funzione consente di specificare una default_version
per l'TLEestensione. È possibile utilizzare questa funzione per definire un percorso di aggiornamento e designare la versione come predefinita per l'TLEestensione. Quando gli utenti TLE del database specificano l'estensione nei ALTER EXTENSION ... UPDATE
comandi CREATE EXTENSION
and, quella versione dell'TLEestensione viene creata nel database per quell'utente.
Questa funzione restituisce true
in caso di esito positivo. Se l'TLEestensione specificata nell'name
argomento non esiste, la funzione restituisce un errore. Analogamente, se version
l'TLEestensione non esiste, restituisce un errore.
Prototipo di funzione
pgtle.set_default_version(name text, version text)
Ruolo
pgtle_admin
Argomenti
name
— Il nome dell'TLEestensione. Questo valore viene utilizzato per la chiamataCREATE EXTENSION
.version
— La versione dell'TLEestensione per impostare l'impostazione predefinita.
Output
true
: quando l'impostazione della versione predefinita ha esito positivo, la funzione restituiscetrue
.ERROR
— Restituisce un messaggio di errore se non esiste un'TLEestensione con il nome o la versione specificati.
Esempio di utilizzo
SELECT * FROM pgtle.set_default_version('my-extension', '1.1');
pgtle.uninstall_extension(name)
La uninstall_extension
funzione rimuove tutte le versioni di un'TLEestensione da un database. Questa funzione impedisce alle future chiamate CREATE EXTENSION
di installare l'TLEestensione. Se l'TLEestensione non esiste nel database, viene generato un errore.
La uninstall_extension
funzione non eliminerà un'TLEestensione attualmente attiva nel database. Per rimuovere un'TLEestensione attualmente attiva, devi chiamare esplicitamente DROP EXTENSION
per rimuoverla.
Prototipo di funzione
pgtle.uninstall_extension(extname text)
Ruolo
pgtle_admin
Argomenti
extname
— Il nome dell'TLEestensione da disinstallare. Questo nome è lo stesso usatoCREATE EXTENSION
per caricare l'TLEestensione da utilizzare in un determinato database.
Output
Nessuna.
Esempio di utilizzo
SELECT * FROM pgtle.uninstall_extension('pg_tle_test');
pgtle.uninstall_extension(name, version)
La uninstall_extension(name, version)
funzione rimuove la versione specificata dell'TLEestensione dal database. Questa funzione impedisce CREATE
EXTENSION
e ALTER EXTENSION
impedisce l'installazione o l'aggiornamento di un'TLEestensione alla versione specificata. Questa funzione rimuove anche tutti i percorsi di aggiornamento per la versione specificata dell'TLEestensione. Questa funzione non disinstallerà l'TLEestensione se è attualmente attiva nel database. È necessario chiamare in modo esplicito DROP EXTENSION
per rimuovere l'TLEestensione. Per disinstallare tutte le versioni di un'TLEestensione, consultapgtle.uninstall_extension(name).
Prototipo di funzione
pgtle.uninstall_extension(extname text, version text)
Ruolo
pgtle_admin
Argomenti
extname
— Il nome dell'TLEestensione. Questo valore viene utilizzato per la chiamataCREATE EXTENSION
.version
— La versione dell'TLEestensione da disinstallare dal database.
Output
Nessuna.
Esempio di utilizzo
SELECT * FROM pgtle.uninstall_extension('pg_tle_test', '0.2');
pgtle.uninstall_extension_if_exists
La uninstall_extension_if_exists
funzione rimuove tutte le versioni di un'TLEestensione da un determinato database. Se l'TLEestensione non esiste, la funzione ritorna silenziosamente (non viene generato alcun messaggio di errore). Se l'estensione specificata è attualmente attiva in un database, non viene eliminata dalla funzione. È necessario chiamare esplicitamente DROP EXTENSION
per rimuovere l'TLEestensione prima di utilizzare questa funzione per disinstallarne gli artefatti.
Prototipo di funzione
pgtle.uninstall_extension_if_exists(extname text)
Ruolo
pgtle_admin
Argomenti
extname
— Il nome dell'estensione. TLE Questo valore viene utilizzato per la chiamataCREATE EXTENSION
.
Output
La funzione uninstall_extension_if_exists
restituisce true
dopo aver disinstallato l'estensione specificata. Se l'estensione specificata non esiste, la funzione restituisce false
.
true
— Restituiscetrue
dopo aver disinstallato l'TLEestensione.false
— Restituiscefalse
quando l'TLEestensione non esiste nel database.
Esempio di utilizzo
SELECT * FROM pgtle.uninstall_extension_if_exists('pg_tle_test');
pgtle.uninstall_update_path
La uninstall_update_path
funzione rimuove il percorso di aggiornamento specifico da un'TLEestensione. In tal modo ALTER EXTENSION ... UPDATE TO
non può utilizzarlo come percorso di aggiornamento.
Se l'TLEestensione è attualmente utilizzata da una delle versioni in questo percorso di aggiornamento, rimane nel database.
Se il percorso di aggiornamento specificato non esiste, la funzione genera un errore.
Prototipo di funzione
pgtle.uninstall_update_path(extname text, fromvers text, tovers text)
Ruolo
pgtle_admin
Argomenti
extname
— Il nome dell'TLEestensione. Questo valore viene utilizzato per la chiamataCREATE EXTENSION
.fromvers
— La versione sorgente dell'TLEestensione utilizzata nel percorso di aggiornamento.tovers
— La versione di destinazione dell'TLEestensione utilizzata nel percorso di aggiornamento.
Output
Nessuna.
Esempio di utilizzo
SELECT * FROM pgtle.uninstall_update_path('pg_tle_test', '0.1', '0.2');
pgtle.uninstall_update_path_if_exists
La uninstall_update_path_if_exists
funzione è simile uninstall_update_path
in quanto rimuove il percorso di aggiornamento specificato da un'TLEestensione. Tuttavia, se il percorso di aggiornamento non esiste, questa funzione non genera un messaggio di errore e restituisce false
.
Prototipo di funzione
pgtle.uninstall_update_path_if_exists(extname text, fromvers text, tovers text)
Ruolo
pgtle_admin
Argomenti
extname
— Il nome dell'TLEestensione. Questo valore viene utilizzato per la chiamataCREATE EXTENSION
.fromvers
— La versione sorgente dell'TLEestensione utilizzata nel percorso di aggiornamento.tovers
— La versione di destinazione dell'TLEestensione utilizzata nel percorso di aggiornamento.
Output
true
— La funzione ha aggiornato correttamente il percorso dell'TLEestensione.false
— La funzione non è stata in grado di aggiornare il percorso dell'TLEestensione.
Esempio di utilizzo
SELECT * FROM pgtle.uninstall_update_path_if_exists('pg_tle_test', '0.1', '0.2');
pgtle.unregister_feature
La funzione unregister_feature
fornisce un modo per rimuovere le funzioni registrate per utilizzare la funzionalità pg_tle
, ad esempio gli hook. Per ulteriori informazioni sulla registrazione di una funzionalità, consulta pgtle.register_feature.
Prototipo di funzione
pgtle.unregister_feature(proc regproc, feature pg_tle_features)
Ruolo
pgtle_admin
Argomenti
proc
: il nome di una funzione memorizzata da registrare con una funzionalitàpg_tle
.feature
: il nome della funzionalitàpg_tle
da registrare con la funzione. Ad esempio,passcheck
è una funzionalità che può essere registrata per essere utilizzata dalle estensioni Trusted Language Extensions sviluppate. Per ulteriori informazioni, consulta Hook di verifica della password (passcheck).
Output
Nessuna.
Esempio di utilizzo
SELECT * FROM pgtle.unregister_feature('pw_hook', 'passcheck');
pgtle.unregister_feature_if_exists
La funzione unregister_feature
fornisce un modo per rimuovere le funzioni registrate per utilizzare la funzionalità pg_tle
, ad esempio gli hook. Per ulteriori informazioni, consulta Usare gli SQL hook Postgre con le tue estensioni TLE. Restituisce true
dopo aver completato l'annullamento della registrazione della funzionalità. Restituisce false
se la funzionalità non è stata registrata.
Per informazioni sulla registrazione delle pg_tle
funzionalità per le tue TLE estensioni, consulta. pgtle.register_feature
Prototipo di funzione
pgtle.unregister_feature_if_exists('proc regproc', 'feature pg_tle_features')
Ruolo
pgtle_admin
Argomenti
proc
: il nome della funzione memorizzata che è stata registrata per includere una funzionalitàpg_tle
.feature
: il nome della funzionalitàpg_tle
registrata con l'estensione Trusted Language Extensions.
Output
Restituisce true
o false
, come indicato di seguito.
true
: la funzione ha completato l'annullamento della registrazione della funzionalità dall'estensione.false
— La funzione non è stata in grado di annullare la registrazione della funzionalità dall'TLEestensione.
Esempio di utilizzo
SELECT * FROM pgtle.unregister_feature_if_exists('pw_hook', 'passcheck');