PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

postgresql createb e CREATE DATABASE producono un database non vuoto. che forchetta?

Riassumendo dai documenti template0 è essenzialmente un database di sistema vergine e pulito, mentre template1 funge da blue print per qualsiasi nuovo database creato con il comando createb o crea un database da un prompt di psql (non vi è alcuna differenza effettiva).

È probabile che tu abbia delle tabelle in agguato in template1, motivo per cui continuano a riapparire su createb. Puoi risolverlo rilasciando template1 e ricreandolo da template0.

createdb -T template0 template1 

Il database template1 può essere estremamente utile. Uso molto Postgis, quindi ho tutte le funzioni e le tabelle relative a quella installate in template1, quindi ogni nuovo database che creo viene immediatamente abilitato spazialmente.

MODIFICA . Come notato in docs, ma vale la pena sottolineare, per eliminare tempate1 devi avere pg_database.datistemplate =false impostato.