CREATE TABLE într-o schemă Postgres

Create Table Intr O Schema Postgres



PostgreSQL este unul dintre cele mai populare sisteme de baze de date obiect-relaționale. Este un software gratuit și open-source care extinde limbajul SQL cu funcții suplimentare pentru a gestiona sarcinile complexe de lucru de date. Poate funcționa cu diferite tipuri de date, fiabile și sigure. Aflați mai multe despre caracteristicile PostgreSQL.

În acest ghid, vom afla mai multe despre crearea tabelelor într-o schemă în PostgreSQL.







Scheme în PostgreSQL

O bază de date PostgreSQL poate conține una sau mai multe scheme denumite, fiecare schemă conținând tabele.



Același nume de obiect poate fi atribuit în mai multe scheme fără conflict. De exemplu, următorul arbore de schemă/tabel este valid:



  • schema_a
    • tabelul 1
    • masa 2
  • schema_b
    • tabelul 1
    • masa 2

Vă puteți gândi la scheme precum directoare la nivel de sistem de operare. Diferența este că nu pot exista scheme imbricate. Aflați mai multe în profunzime despre schema activată Documentație PostgreSQL .





Pot exista mai multe motive pentru a implementa schemele:

  • Mai mulți utilizatori care folosesc aceeași bază de date fără a intra în conflict între ei.
  • O mai bună organizare și gestionare a bazelor de date în grupuri logice.
  • Aplicațiile de la terțe părți își pot crea schema unică fără a se ciocni cu schemele existente sau cu alte obiecte.

Tabelele în PostgreSQL

Orice bază de date relațională constă din mai multe tabele înrudite, fiecare constând din rânduri și coloane. PostgreSQL vine cu mai multe tabele încorporate care conțin diverse informații despre sistem. Cu toate acestea, putem crea și tabele noi în baze de date și scheme definite de utilizator.



Cerințe preliminare:

Pentru a efectua pașii demonstrați în acest ghid, veți avea nevoie de următoarele componente:

  • Un sistem Linux configurat corect. Află mai multe despre instalarea Ubuntu în VirtualBox .
  • O instalare corectă a PostgreSQL. Verifică instalarea PostgreSQL pe Ubuntu .
  • Accesul la a Utilizator PostgreSQL cu Permisiune de UTILIZARE la o bază de date.

În scopul acestui ghid, vom folosi postgres pentru a efectua toate acțiunile în PostgreSQL.

Crearea tabelelor într-o schemă

Crearea unei baze de date Demo

După cum am menționat mai devreme, schemele există într-o bază de date. În scopuri demonstrative, creăm o bază de date inactivă, evitând întreruperea oricărei baze de date existente.

Accesați shell-ul PostgreSQL ca postgres :

$ sudo -i -u postgres psql

Creați o nouă bază de date demo_db:

$ CREATE DATABASE demo_db;

Verificați dacă baza de date a fost creată cu succes:

$ \l

În cele din urmă, conectați-vă la noua bază de date creată:

$ \connect demo_db;

Schema Publică

Orice bază de date nouă în PostgreSQL vine cu o schemă implicită - public . Dacă încercați să creați un obiect fără a specifica numele schemei, schema publică este selectată implicit.

Următoarea comandă imprimă toată schema disponibilă în baza de date PostgreSQL:

$ \dn

Alternativ, putem folosi și următoarea interogare SQL:

$ SELECT * FROM pg_catalog.pg_namespace;

Crearea unei noi scheme

Pentru a crea o nouă schemă într-o anumită bază de date, structura comenzii este următoarea:

$ CREATE SCHEMA ;

Urmând regula, să creăm o nouă schemă demo_schema:

$ CREATE SCHEMA demo_schema;

Verificați lista de scheme pentru verificare:

$ \dn

Crearea unui tabel într-o schemă

Acum că avem schema țintă creată, o putem popula cu tabele.

Sintaxa pentru crearea unui tabel este următoarea:

CREATE TABLE . (

...
)

Aici:

  • schemă : Acest câmp specifică numele schemei în care este creat tabelul. Dacă nu este furnizată nicio valoare, tabelul este creat sub public schemă.

Pentru demonstrație, creăm un tabel simplu:

CREATE TABLE demo_schema.demo_table (

NUME CHAR(64),

ID INT NU NULL

);

Aici:

  • Campul NUME este specificat pentru a stoca un șir de 64 de caractere.
  • Campul ID conţine valorile întregi. Termenul ' NU NUL ' indică faptul că ID nu poate fi gol sau nul.

Putem verifica existența tabelului folosind următoarea interogare:

$ SELECT * FROM demo_schema.demo_table;

Inserarea datelor în tabel

Cu tabelul la loc, acum putem introduce câteva valori:

INSERT INTO demo_schema.demo_table (NUME, ID)

VALORI

(„PQR”, 45),

(„IJK”, 99)

;

Verificați conținutul tabelului:

$ SELECT * FROM demo_schema.demo_table;

Managementul Schemei

Permisiuni Schema

Cu ajutorul permisiunii schemei, putem gestiona ce rol poate efectua ce acțiune pe o anumită schemă. Dintre toate privilegiile posibile, doar schemele acceptă CREAȚI și UTILIZAȚI.

Pentru a actualiza permisiunea de schemă pentru un anumit rol, structura comenzii este următoarea:

$ GRANT PE SCHEMA CĂTRE ;

Pentru a revoca permisiunea de schemă pentru un anumit rol, structura comenzii este următoarea:

$ REVOKE ON SCHEMA LA ;

Verificați modificarea utilizând următoarea comandă:

$ \dn+

Modificați proprietățile schemei

Cu ajutorul lui ALTER SCHEMA declarație, putem modifica diferitele proprietăți ale unei scheme. De exemplu: proprietate, numele schemei etc.

Pentru a schimba numele schemei, utilizați următoarea interogare:

$ ALTER SCHEMA RENAME TO ;

Pentru a schimba dreptul de proprietate asupra unei scheme, utilizați următoarea interogare:

$ ALTER SCHEMA OWNER TO ;

Rețineți că pentru a schimba proprietatea, utilizatorul actual trebuie să aibă CREA permisiunea la schema.

Ștergerea unei scheme

Dacă o schemă nu mai este necesară, o putem șterge folosind CĂDERE BRUSCA interogare:

$ DROP SCHEMA

Dacă schema conține vreun obiect, avem nevoie de CASCADĂ modificator:

$ DROP SCHEMA CASCADE;

Managementul mesei

Permisiuni de masă

La fel ca schema, fiecare tabel vine și cu gestionarea permisiunilor, definind ce acțiune poate îndeplini un rol pe tabel.

Pentru a verifica permisiunile unui tabel, utilizați următoarea comandă în psql:

$ \dp

Modificați proprietățile tabelului

Cu ajutorul lui ALTER TABLE declarație, putem modifica numeroasele aspecte ale unui tabel deja existent.

De exemplu, pentru a arunca o coloană, interogarea arată astfel:

$ ALTER TABLE DROP COLUMN ;

Pentru a adăuga o nouă coloană, putem folosi următoarea interogare:

$ ALTER TABLE ADD COLUMN ;

De asemenea, putem seta compresia pentru o anumită coloană:

$ ALTER COLUMN SETĂ COMPRESSION ;

Ștergerea unui tabel

Pentru a șterge un tabel dintr-o schemă, putem folosi DROP TABLE interogare:

$ DROP TABLE ;

Rețineți că, spre deosebire de scheme, DROP TABLE interogarea nu va produce o eroare indiferent dacă tabelul este gol sau nu.

Concluzie

În acest ghid, am demonstrat cum să creați tabelele într-o schemă în PostgreSQL. Am creat o schemă inactivă într-o bază de date inactivă și am creat un tabel în cadrul schemei. Acest ghid a prezentat, de asemenea, cum să gestionați diferitele proprietăți ale schemelor și tabelelor.

Pentru o mai bună integritate a datelor, puteți configura a replicare logică PostgreSQL . Pentru a menține baza de date PostgreSQL sănătoasă, puteți configura autovacuum pentru a curăța tuplurile moarte care sunt lăsate de înregistrările șterse.

Pentru mai multe ghiduri PostgreSQL, consultați Subcategoria PostgreSQL .