Skip to content

Obiecte de bază de date explicate

Fiecare obiect de schemă de bază din PostgreSQL — structură, tabele, vizualizări, indexuri, tipuri, identitate, rutine, securitate și replicare — într-o singură referință densă.

PostgreSQL stochează datele în obiecte de schemă denumite. Fiecare obiect are un singur rol: un tabel păstrează rânduri, un index accelerează căutările, o rutină conține logică. Cunoaște fiecare obiect înainte de a alege pe care să adaugi și tratează constrângerile și politicile drept regulile care păstrează datele corecte.

Tabel de referință · 45 intrări
45 of 45 rows
Structură
Un catalog izolat de scheme în interiorul unui cluster.Separi aplicații sau medii care nu trebuie să partajeze date.
Un spațiu de nume denumit în interiorul unei baze de date, care grupează obiecte înrudite.Organizezi obiectele pe funcționalitate sau proprietar și eviți conflictele de nume.
O locație denumită pe disc unde sunt plasate fișierele de tabele și indexuri.Direcționezi tabelele fierbinți spre stocare rapidă și ții datele reci pe discuri ieftine.
Setarea care decide la ce scheme se rezolvă un nume de obiect nequalificat.Indici sesiunii schema corectă, ca interogările să poată folosi nume scurte.
O descriere stocată pe orice obiect al bazei de date cu COMMENT ON.Documentezi tabele și coloane acolo unde le va găsi autorul următoarei interogări.
Tabele și vizualizări
O relație denumită care stochează rânduri în coloane tipizate.Containerul primar pentru date persistente.
Un tabel ale cărui rânduri dispar la sfârșitul sesiunii sau al tranzacției.Ții date temporare sau de etapă care nu trebuie să supraviețuiască conexiunii.
Un tabel părinte împărțit în partiții copil după o cheie declarată.Menții tabelele foarte mari gestionabile, distribuind rândurile pe partiții după interval sau listă.
Un tabel ale cărui rânduri trăiesc într-un sistem extern, atins printr-un foreign data wrapper.Interoghezi o bază de date sau un fișier distant ca și cum ar fi un tabel local.
O interogare stocată, expusă ca tabel virtual.Prezinți aceleași rânduri prin filtre sau joncțiuni diferite.
O vizualizare simplă care transmite INSERT, UPDATE și DELETE către tabelul de bază.Expui o felie filtrată sau joncționată a unui tabel, care rămâne inscriptibilă.
O vizualizare a cărei mulțime de rezultate este scrisă pe disc și reîmprospătată la cerere.Păstrezi în cache agregate sau joncțiuni scumpe și le citești rapid.
O funcție care returnează o mulțime de rânduri, utilizabilă oriunde încap un tabel.Expandezi o mulțime calculată pe loc, așa cum unnest transformă un array în rânduri.
Indexuri
Un index arbore echilibrat pentru căutări de egalitate și de interval.Accelerezi WHERE, JOIN și ORDER BY pe coloane sortabile.
Un index care respinge valorile duplicate din cheia sa.Impuni unicitate pe o coloană sau o combinație de coloane.
Indexuri inversate sau arbori de căutare generalizați pentru valori ne-scalare.Indexezi array-uri, JSONB, full-text sau date geometrice.
Un index construit doar peste rândurile care respectă o clauză WHERE.Indexezi subsetul fierbinte și sari peste rest, ca să economisești spațiu.
Tipuri și extensii
Un tip definit de utilizator ale cărui valori vin dintr-o listă fixă de etichete.Restricționezi o coloană la o mulțime închisă, precum coduri de status.
Un tip de bază plus o constrângere de verificare, denumit pentru reutilizare ca tip de coloană.Partajezi o definiție validată, cum ar fi text nevid, pe multe coloane.
Un set de reguli care definește cum se compară și se sortează șirurile.Obții ordonarea corectă pentru majuscule, diacritice sau un locale specific.
Un pachet instalabil care adaugă funcții, tipuri sau operatori într-o bază de date.Adopi unelte dovedite precum PostGIS sau pg_trgm într-un singur pas.
Identitate și generare
Un obiect contor de sine stătător care emite numere întregi succesive.Alimenți o cheie serială când mai multe tabele partajează un generator.
O coloană de tabel susținută de o secvență internă, conform standardului SQL.Cheie primară modernă cu auto-increment, preferată în locul SERIAL.
O coloană a cărei valoare este calculată din alte coloane din același rând.Stochezi sau expui o valoare derivată fără scrieri manuale.
Rutine
Un bloc SQL denumit care returnează o valoare sau rânduri.Încapsulezi logică reutilizabilă și o apelezi în interogări.
Un bloc denumit care execută acțiuni și își controlează propria tranzacție.ETL în mai mulți pași, unde rutina face commit sau rollback intern.
O rutină care pliază multe rânduri de intrare într-o singură valoare prin funcții de stare și finală.Definești reduceri proprii, cum ar fi o medie ponderată.
Un simbol legat de una sau mai multe funcții pentru tipuri de operanzi specifice.Oferi tipurilor proprii sintaxă naturală, precum a + b sau @>.
O cale de conversie declarată de la un tip la altul.Controlezi cum își schimbă valorile tipul, inclusiv ce conversii se fac implicit.
O rutină legată de un eveniment al tabelului, care se declanșează automat.Auditezi, validezi sau cascadezi modificări la INSERT, UPDATE sau DELETE.
Un trigger care se declanșează la evenimente de nivel bază de date, precum comenzi DDL.Loghezi, blochezi sau auditezi modificările de schemă în toată baza.
O interogare parsată, stocată pentru execuții repetate cu parametri legați.Refolosești o singură parsare și un singur plan pe multe rulări ale aceleiași interogări.
Un handle care ține deschisă o mulțime de rezultate pentru extragere rând cu rând.Paginezi rezultate mari sau parcurgi rânduri în interiorul unei rutine.
Securitate și reguli
O identitate denumită care deține privilegii; un utilizator este un rol care se poate autentifica.Grup permisiunile o dată, apoi le acorzi persoanelor, serviciilor sau altor roluri.
Instrucțiuni care atribuie privilegii pe obiecte unor roluri sau le retrag.Decizi ce rol poate citi, scrie sau executa fiecare obiect.
Drepturile încorporate ale creatorului de a modifica sau șterge un obiect, separate de granturi.Denumești rolul responsabil de ciclul de viață al unui obiect.
O instrucțiune permanentă care acordă automat privilegii pe obiectele pe care un rol le creează ulterior.Preset drepturile, ca tabelele noi să nu mai aibă nevoie de granturi manuale pentru rolul aplicației.
O regulă care respinge scrierile ce încalcă o condiție declarată.Impuni garanțiile NOT NULL, CHECK, UNIQUE, PRIMARY KEY și FOREIGN KEY.
O regulă per rol care ascunde rândurile pe care sesiunea nu trebuie să le vadă.Izolare multi-tenant sau acces per utilizator, fără rescrierea interogărilor aplicației.
Un alias care rezolvă un nume către un obiect aflat în altă parte; nativ în Oracle și SQL Server.Porți structuri de schemă; în PostgreSQL folosește în schimb search_path.
O definiție a acțiunilor care sunt înregistrate pentru revizuire, prin pgaudit sau unelte de la furnizor.Dovedești cine a citit sau schimbat ce, pentru conformitate și investigații.
O instrucțiune care rescrie o interogare venită în altă comandă.Redirecționare moștenită a scrierilor; PostgreSQL preferă acum trigger-e sau vizualizări actualizabile.
Replicare
O definiție pe partea emitentului despre ce tabele și tipuri de modificări se streamează spre replici.Declar ce oferă o bază de date abonaților la replicarea logică.
Un receptor care se conectează la o publicație și aplică modificările ei în tabelele locale.Trage modificările din altă bază de date PostgreSQL în aceasta.
Un marker care face ca primarul să păstreze WAL-ul până când un consumator îl citește.Garantezi că un standby sau un abonat poate relua fără să piardă modificări.