sql >> Database >  >> RDS >> PostgreSQL

postgresql createdb en CREATE DATABASE leveren een niet-lege database op. wat de vork?

Samenvattend uit de docs template0 is in wezen een schone, maagdelijke systeemdatabase, terwijl template1 dient als een blauwdruk voor elke nieuwe database die is gemaakt met de opdracht createb of maak een database vanaf een psql-prompt (er is geen effectief verschil).

Het is waarschijnlijk dat er enkele tabellen op de loer liggen in template1, daarom verschijnen ze steeds weer op createdb. U kunt dit oplossen door sjabloon1 te laten vallen en het opnieuw te maken vanuit sjabloon0.

createdb -T template0 template1 

De template1 database kan erg handig zijn. Ik gebruik Postgis veel, dus ik heb alle functies en tabellen met betrekking tot die in template1 geïnstalleerd, dus elke nieuwe database die ik maak, wordt onmiddellijk ruimtelijk ingeschakeld.

BEWERKEN . Zoals opgemerkt in documenten, maar het is de moeite waard om te benadrukken, moet u pg_database.datistemplate =false hebben om tempate1 te verwijderen.




  1. Hoe onderhoud ik PHP-sessies over meerdere domeinen op dezelfde server?

  2. Verbinding maken met MySQL met Perl

  3. postgresql - query om json op te bouwen

  4. Is er een manier om alleen de mysql-client (Linux) te installeren?