Ero curioso di sapere perché tutti i database di PostgreSQL hanno uno schema public
accessibile a tutti gli utenti. So che posso revocare i privilegi e concederli a un utente, ma perché non è quello predefinito?Perché tutti i database hanno uno schema pubblico in PostgreSQL?
risposta
Non c'è molta motivazione fornita, ma vedere la sezione [5.7.6][1] nel manuale, ma penso che le seguenti risposte alla tua domanda:
Se non si creano gli schemi quindi tutti gli utenti di accedere allo schema pubblico implicitamente . Questo simula la situazione in cui gli schemi non sono disponibili. Questa impostazione è consigliata principalmente quando c'è un solo utente o pochi utenti che collaborano in un database. Questa configurazione consente anche una transizione graduale dal mondo che non conosce schemi.
La mia ipotesi sarebbe la specifica SQL. Ma questo è abbastanza logico che cosa farebbe lo create user
altrimenti richiederebbe esplicitamente quale schema ha anche l'utente?
Se i tuoi utenti non hanno accesso a nessuna singola risorsa condivisa, perché non creare un nuovo DB per loro? A differenza di MySQL, un nuovo database è un nuovo database e non un alias per un nuovo schema.
Volevo solo chiarire questo, significa che ogni database ha il proprio schema public.
.
- 1. Impossibile associare i modelli in uno schema (postgresql) utilizzando Sequelize
- 2. Elenca tabelle in uno schema PostgreSQL
- 3. symfony2 + doctrine2 @ postgresql che imposta uno schema
- 4. Progettazione di uno schema di database localizzato
- 5. Come esportare uno schema di database postgresql in un formato XML?
- 6. Perché la tabella django_migrations in tutti i database
- 7. Documentazione Postgresql database
- 8. PostgreSQL come creare una copia di un database o di uno schema?
- 9. come spostare tabelle da pubblico ad altro schema in Postgres
- 10. Esiste uno strumento opensource per convertire lo schema xml nello schema del database per linux?
- 11. Uno schema a stella è uno schema denormalizzato?
- 12. Pandas che scrive dataframe su altro schema postgresql
- 13. ha uno schema JSON
- 14. stored procedure che chiama i dati in uno schema diverso
- 15. Un modo semplice per ripristinare il database Django PostgreSQL?
- 16. Tutti i profiler hanno rallentato significativamente l'esecuzione?
- 17. Semplifica Database ER Schema/Schema
- 18. Come si esegue uno schema di backup e ripristino in PostgreSQL?
- 19. Come posso ottenere un elenco di tutte le funzioni memorizzate nel database di uno schema particolare in PostgreSQL?
- 20. Schema di schema dello schema del database per i dati che si fondono
- 21. Dove sono tutti i database revisionati nativi?
- 22. Ottenere tutti i documenti hanno recentemente cambiato in un database CouchDB
- 23. XSD standard del database neutrale per descrivere uno schema di database relazionale
- 24. Tecnica/i in un'applicazione multiutente C# in cui tutti i client hanno i loro dati aggiornati da un database centrale
- 25. Come selezionare uno schema in postgres quando si usa psql?
- 26. I limiti delle modifiche dello schema PostgreSQL all'interno delle transazioni?
- 27. Database locale con schema
- 28. Come rinominare uno schema MySQL?
- 29. Perché i tipi primitivi in C# hanno le proprie operazioni?
- 30. Schema del database EtherPad?
Non penso sia dovuto alle specifiche SQL: "non esiste un concetto di schema pubblico nello standard SQL". [Postgres Manual] (http://www.postgresql.org/docs/8.1/static/ddl-schemas.html) –
@CarlG Ma ti permette di usare il DB senza conoscenza di uno schema, che è come funzionano gli altri motori (perché non hanno affatto schemi). –
@ElliotCameron Oracle ha schemi, utilizza schemi con gli utenti; gli utenti ottengono il proprio schema, gli schemi possono anche essere condivisi. Microsoft SQL Server ha schemi (come Sybase), con l'impostazione predefinita chiamata 'dbo' equivalente a' public' in PostgreSQL dove, se non si specifica schema, il valore predefinito è 'dbo'. DB2 di IBM ha anche schemi. MySQL ha il sinonimo 'schema', intercambiabile con' database' quindi non è realmente uno schema nel senso degli altri menzionati. – Davos