Crea la tabella in uno schema Postgres

Crea la tabella in uno schema Postgres

PostgreSQL è uno dei sistemi di database degli oggetti più popolari. È un software gratuito e open source che estende la lingua SQL con funzionalità aggiuntive per gestire i complessi carichi di lavoro dei dati. Può funzionare con vari tipi di dati, affidabile e sicuro. Ulteriori informazioni sulle caratteristiche di PostgreSQL.

In questa guida, impareremo di più sulla creazione di tabelle in uno schema in PostgreSQL.

Schemi in Postgresql

Un database PostgreSQL può contenere uno o più schemi denominati, ogni schema contenente tabelle.

Lo stesso nome dell'oggetto può essere assegnato in più schemi senza conflitto. Ad esempio, il seguente schema/tabella è valido:

  • schema_a
    • Tabella 1
    • Tavolo 2
  • Schema_B
    • Tabella 1
    • Tavolo 2

Puoi pensare a schemi come directory a livello di sistema operativo. La differenza è che non ci possono essere schemi nidificati. Scopri di più in modo approfondito sullo schema sulla documentazione di PostgreSQL.

Ci possono essere più motivi per implementare gli schemi:

  • Più utenti che utilizzano lo stesso database senza contrastare l'uno con l'altro.
  • Migliore organizzazione e gestione dei database in gruppi logici.
  • Le app di terze parti possono creare il loro schema unico senza scontrarsi con gli schemi esistenti o altri oggetti.

Tabelle in PostgreSQL

Qualsiasi database relazionale è costituito da più tabelle correlate, ciascuna costituita da righe e colonne. PostgreSQL viene fornito con diverse tabelle integrate che contengono varie informazioni di sistema. Tuttavia, possiamo anche creare nuove tabelle in database e schemi definiti dall'utente.

Prerequisiti:

Per eseguire i passaggi dimostrati in questa guida, avrai bisogno dei seguenti componenti:

  • Un sistema Linux correttamente configurato. Ulteriori informazioni sull'installazione di Ubuntu in VirtualBox.
  • Una corretta installazione di PostgreSQL. Scopri l'installazione di PostgreSQL su Ubuntu.
  • Accesso a un utente PostgreSQL con autorizzazione di utilizzo a un database.

Ai fini di questa guida, useremo Postgres Per eseguire tutte le azioni in PostgreSQL.

Creazione di tabelle in uno schema

Creazione di un database demo

Come accennato in precedenza, gli schemi esistono sotto un database. A fini dimostrativi, creiamo un database fittizio, evitando l'interruzione di qualsiasi database esistente.

Accedere al guscio postgresql come Postgres:

$ sudo -i -u postgres psql

Crea un nuovo database demo_db:

$ Crea database demo_db;

Verifica se il database viene creato correttamente:

$ \ l

Infine, connettiti al database appena creato:

$ \ connect demo_db;

Lo schema pubblico

Qualsiasi nuovo database in PostgreSQL viene fornito con uno schema predefinito - pubblico. Se si tenta di creare un oggetto senza specificare il nome dello schema, lo schema pubblico viene selezionato per impostazione predefinita.

Il seguente comando stampare tutto lo schema disponibile nel database PostgreSQL:

$ \ dn

In alternativa, possiamo anche utilizzare la seguente query SQL:

$ Seleziona * da pg_catalog.pg_namespace;

Creare un nuovo schema

Per creare un nuovo schema sotto un database specifico, la struttura dei comandi è la seguente:

$ Crea schema;

Seguendo la regola, creiamo un nuovo schema demo_schema:

$ Crea schema demo_schema;

Controllare l'elenco degli schemi per la verifica:

$ \ dn

Creare una tabella in uno schema

Ora che abbiamo creato lo schema target, possiamo popolarlo con le tabelle.

La sintassi per la creazione di una tabella è la seguente:

CREA TABELLA . (
..
)

Qui:

  • schema: Questo campo specifica il nome dello schema in cui viene creata la tabella. Se non viene fornito alcun valore, la tabella viene creata sotto pubblico schema.

Per dimostrazione, creiamo una semplice tabella:

Crea table demo_schema.demo_table (
Nome Char (64),
Id non null
);

Qui:

  • Il campo NOME è specificato per archiviare una stringa di 64 caratteri.
  • Il campo ID contiene i valori interi. Il termine "NON NULLO" indica che ID non può essere vuoto o nullo.

Possiamo verificare l'esistenza della tabella usando la seguente query:

$ Seleziona * da demo_schema.demo_table;

Inserire i dati nella tabella

Con la tabella in atto, ora possiamo inserire alcuni valori:

Inserire in demo_schema.demo_table (nome, id)
VALORI
('PQR', 45),
('Ijk', 99)
;

Controlla il contenuto della tabella:

$ Seleziona * da demo_schema.demo_table;

Gestione dello schema

Autorizzazioni dello schema

Con l'aiuto dell'autorizzazione dello schema, possiamo gestire quale ruolo può eseguire quale azione su uno schema specifico. Tra tutti i possibili privilegi, gli schemi supportano solo Creare e utilizzare.

Per aggiornare l'autorizzazione dello schema per un ruolo particolare, la struttura di comando è la seguente:

$ Grant sullo schema a;

Per revocare l'autorizzazione dello schema per un ruolo particolare, la struttura di comando è la seguente:

$ Revoca sullo schema a;

Verificare la modifica usando il seguente comando:

$ \ dn+

Altera le proprietà dello schema

Con l'aiuto del Alter schema Dichiarazione, possiamo modificare le varie proprietà di uno schema. Ad esempio: proprietà, nome dello schema, ecc.

Per modificare il nome dello schema, utilizzare la seguente query:

$ Alter schema Rinomina;

Per cambiare la proprietà di uno schema, utilizzare la seguente domanda:

$ Alter Schema proprietario a;

Si noti che per modificare la proprietà, l'utente attuale deve avere il CREARE permesso allo schema.

Eliminazione di uno schema

Se uno schema non è più necessario, possiamo eliminarlo usando il GOCCIOLARE Domanda:

$ Drop schema

Se lo schema contiene qualsiasi oggetto, abbiamo bisogno del CASCATA modificatore:

$ Drop Schema Cascade;

Gestione delle tabelle

Autorizzazioni della tabella

Come lo schema, ogni tabella viene fornita anche con la gestione delle autorizzazioni, che definisce ciò che l'azione può eseguire sul tavolo.

Per controllare le autorizzazioni di una tabella, utilizzare il seguente comando in PSQL:

$ \ dp

Altera le proprietà della tabella

Con l'aiuto del Alter tabella Dichiarazione, possiamo modificare i numerosi aspetti di una tabella già esistente.

Ad esempio, per far cadere una colonna, la query assomiglia a questa:

Colonna di drop tabella $ alter;

Per aggiungere una nuova colonna, possiamo usare la seguente query:

$ Alter tabella Aggiungi colonna;

Possiamo anche impostare la compressione per una colonna specifica:

Compressione del set di colonne $ alter;

Eliminazione di un tavolo

Per eliminare una tabella da uno schema, possiamo usare la query di drop table:

$ Drop table;

Si noti che a differenza degli schemi, il Tavolino La query non produrrà un errore se la tabella è vuota o meno.

Conclusione

In questa guida, abbiamo dimostrato come creare le tabelle in uno schema in Postgresql. Abbiamo creato uno schema fittizio all'interno di un database fittizio e creato una tabella all'interno dello schema. Questa guida è stata anche presentata su come gestire le varie proprietà di schemi e tabelle.

Per una migliore integrità dei dati, è possibile configurare una replica logica PostgreSQL. Per mantenere sano il database PostgreSQL, è possibile configurare l'autovacuum per pulire le tuple morte che sono lasciate dai record eliminati.

Per ulteriori guide PostgreSQL, dai un'occhiata alla sottocategoria PostgreSQL.