Skip to content

Oggetti di database spiegati

Tutti gli oggetti di schema fondamentali di PostgreSQL — struttura, tabelle, viste, indici, tipi, identità, routine, sicurezza e replica — in un'unica guida di riferimento densa.

PostgreSQL memorizza i dati in oggetti di schema con nome. Ogni oggetto ha un solo compito: una tabella contiene righe, un indice accelera le ricerche, una routine contiene logica. Conosci cosa sia ciascun oggetto prima di scegliere quale aggiungere, e considera vincoli e policy come le regole che tengono i dati onesti.

Tabella di riferimento · 45 voci
45 of 45 rows
Struttura
Un catalogo isolato di schemi all'interno di un cluster.Separare applicazioni o ambienti che non devono condividere dati.
Un namespace con nome dentro un database che raggruppa oggetti correlati.Organizzare gli oggetti per funzionalità o proprietario ed evitare conflitti di nome.
Una posizione con nome su disco dove vengono collocati i file di tabelle e indici.Instradare le tabelle calde su storage veloce e tenere i dati freddi su dischi economici.
L'impostazione che decide a quali schemi si risolve un nome di oggetto non qualificato.Puntare una sessione allo schema giusto così le query possono usare nomi brevi.
Una descrizione memorizzata su qualunque oggetto di database con COMMENT ON.Documentare tabelle e colonne dove il prossimo autore di query le troverà.
Tabelle e viste
Una relazione con nome che memorizza righe in colonne tipizzate.Il contenitore primario per i dati persistenti.
Una tabella le cui righe svaniscono alla fine della sessione o della transazione.Tenere dati di lavoro o di staging che non devono sopravvivere alla connessione.
Una tabella padre suddivisa in partizioni figlie secondo una chiave dichiarata.Tenere gestibili tabelle enormi distribuendo le righe su partizioni per intervallo o elenco.
Una tabella le cui righe vivono in un sistema esterno, raggiunto tramite un foreign data wrapper.Interrogare un database o un file remoto come se fosse una tabella locale.
Una query memorizzata esposta come tabella virtuale.Presentare le stesse righe attraverso filtri o join diversi.
Una vista semplice che inoltra INSERT, UPDATE e DELETE alla sua tabella di base.Esporre una porzione filtrata o joinata di una tabella restando scrivibile.
Una vista il cui risultato è scritto su disco e aggiornato su richiesta.Mettere in cache aggregati o join costosi e leggerli velocemente.
Una funzione che restituisce un insieme di righe utilizzabile ovunque entri una tabella.Espandere un insieme calcolato sul posto, come unnest trasforma un array in righe.
Indici
Un indice ad albero bilanciato per ricerche di uguaglianza e intervallo.Accelerare WHERE, JOIN e ORDER BY su colonne ordinabili.
Un indice che respinge valori duplicati nella sua chiave.Imporre l'unicità su una colonna o combinazione di colonne.
Indici inverted o generalized search-tree per valori non scalari.Indicizzare array, JSONB, full-text o dati geometrici.
Un indice costruito solo sulle righe che corrispondono a una clausola WHERE.Indicizzare il sottoinsieme caldo e saltare il resto per risparmiare spazio.
Tipi ed estensioni
Un tipo definito dall'utente i cui valori provengono da un elenco fisso di etichette.Vincolare una colonna a un insieme chiuso come i codici di stato.
Un tipo base più un vincolo check, con un nome per essere riusato come tipo di colonna.Condividere un'unica definizione validata, come un testo non vuoto, su molte colonne.
Un insieme di regole che definisce come le stringhe si confrontano e si ordinano.Ottenere l'ordinamento corretto per maiuscole, accenti o una specifica locale.
Un pacchetto installabile che aggiunge funzioni, tipi o operatori a un database.Adottare strumenti consolidati come PostGIS o pg_trgm in un solo passo.
Identità e colonne generate
Un oggetto contatore autonomo che produce interi consecutivi.Alimentare una chiave seriale quando più tabelle condividono un generatore.
Una colonna di tabella basata su una sequenza interna, secondo lo standard SQL.Chiave primaria ad auto-incremento moderna, preferita a SERIAL.
Una colonna il cui valore è calcolato da altre colonne della stessa riga.Memorizzare o esporre un valore derivato senza scritture manuali.
Routine
Un blocco SQL con nome che restituisce un valore o righe.Incapsulare logica riutilizzabile e richiamarla dentro le query.
Un blocco con nome che esegue azioni e controlla la propria transazione.ETL multi-step dove la routine fa commit o rollback al proprio interno.
Una routine che piega molte righe di input in un solo valore tramite funzioni di stato e finale.Definire riduzioni personalizzate come una media ponderata.
Un simbolo legato a una o più funzioni per tipi di operando specifici.Dare ai propri tipi una sintassi naturale come a + b oppure @>.
Un percorso di conversione dichiarato da un tipo a un altro.Controllare come i valori cambiano tipo, incluse le conversioni implicite.
Una routine legata a un evento di tabella che scatta automaticamente.Auditare, validare o propagare le modifiche su INSERT, UPDATE o DELETE.
Un trigger che scatta su eventi a livello di database come i comandi DDL.Registrare, bloccare o auditare le modifiche di schema sull'intero database.
Una query analizzata e memorizzata per esecuzioni ripetute con parametri collegati.Riusare un solo parse e piano su molte esecuzioni della stessa query.
Un handle che tiene aperto un risultato per il recupero riga per riga.Sfogliare risultati di grandi dimensioni o scorrere righe dentro una routine.
Sicurezza e regole
Un'identità con nome che detiene privilegi; un utente è un role con il login.Raggruppare i permessi una volta, poi concederli a persone, servizi o altri role.
Istruzioni che assegnano privilegi sugli oggetti ai role, o li rimuovono.Decidere quale role può leggere, scrivere o eseguire ciascun oggetto.
I diritti incorporati del creatore di alterare o eliminare un oggetto, separati dai grant.Indicare il role responsabile del ciclo di vita di un oggetto.
Un'istruzione permanente che concede automaticamente privilegi sugli oggetti che un role creerà in futuro.Predefinire i diritti così le nuove tabelle non richiedono grant manuali per il role applicativo.
Una regola che respinge le scritture che violano una condizione dichiarata.Imporre le garanzie NOT NULL, CHECK, UNIQUE, PRIMARY KEY e FOREIGN KEY.
Una regola per role che nasconde le righe che la sessione non deve vedere.Isolamento multi-tenant o accesso per utente senza riscrivere le query dell'applicazione.
Un alias che risolve un nome verso un oggetto altrove; nativo in Oracle e SQL Server.Trasferire layout di schema; in PostgreSQL si usa invece search_path.
Una definizione di quali azioni vengono registrate per revisione, via pgaudit o strumenti del vendor.Dimostrare chi ha letto o modificato cosa, per compliance e indagini.
Un'istruzione che riscrive una query in arrivo in un altro comando.Redirezione delle scritture legacy; PostgreSQL oggi preferisce trigger o viste aggiornabili.
Replica
Una definizione lato mittente di quali tabelle e tipi di modifica vengono trasmessi alle repliche.Dichiarare cosa un database offre ai sottoscrittori della replica logica.
Un ricevitore che si collega a una publication e applica le sue modifiche alle tabelle locali.Tirare le modifiche da un altro database PostgreSQL in questo.
Un marcatore che fa trattenere al primary il WAL finché un consumer non lo ha letto.Garantire che uno standby o un sottoscrittore riprenda senza perdere modifiche.