Concetto di schema in PostgreSQL


8

Non sono in grado di comprendere il concetto e l'utilizzo dello schema in PostgreSQL. Non ho idea di come possa influire sulla progettazione del mio database. Perché dovrei usarlo?

Può influenzarmi in futuro se decido di non pensarci adesso e di preoccuparmi più tardi?

La spiegazione con un esempio sarà buona.

Risposte:


13

Gli schemi in Postgres sono usati principalmente per lo spazio dei nomi e talvolta per la sicurezza.

Spaziatura dei nomi perché due oggetti possono avere lo stesso nome in schemi diversi e sono quindi indicati dalla schema.objectnotazione - particolarmente utile in combinazione con search_path(molti moduli contrib lo fanno, ad esempio xml2 ). Sicurezza perché ora puoi farlo grant ... on all tables in schema.


3
Una delle cose più interessanti che puoi fare con gli schemi è quella di sostituire gli oggetti predefiniti da altri progetti. ad esempio, utilizziamo i wiki nei singoli schemi e una vista per consentire l'integrazione di wiki con la nostra app al lavoro. per il codice Wikimedia, è solo una vecchia Wikimedia regolare in uno schema, ma in realtà gli utenti e i gruppi provengono dalla nostra app e sovrascrivono ciò che Wikimedia si aspetterebbe di vedere. in questo modo le informazioni utente / gruppo non vengono memorizzate due volte, una volta nella nostra app e una volta in Wikimedia, ma solo nella nostra app.
Scott Marlowe,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.