PostgreSQL模板数据库template0和template1的异同点

PostgreSQL模板数据库

PostgreSQL有两个模板数据库:template0和template1,template0是不可修改的,而template1是可以修改的。

那模板数据库有什么作用呢?顾名思义,当做模板。

其实我们创建数据库 CREATE DATABASE 其实就是复制template1模板库,命名为新库。

那两个模板库有什么区别呢?

template0模板库

  1. template0是不可修改的,是PG的最后一道防线!因为(template1模板库)可以改,可以进行定制化;而同时也意味着可能会改错,如果改错了,就创建不了数据库了;所以template0是最后的保险,是不能修改的。
  2. 使用template0可指定字符集和本地化collate属性。
create database dbname with encoding 'UTF-8' template template0 
lc_collate='zh_CN.utf8' lc_ctype='zh_CN.utf8';

template1模板库

  1. template1是可以修改的,可以定制化一些特定的功能,比如:定制一个dba模式,创建一些运维常用的视图等,这样创建新数据库时,都会自带这个dba模式。
  2. 使用template1创建数据库时不可指定新的字符集和本地化collate属性,即只能和它的规则保持一致。
create database dbname with template template1;

参考:https://www.postgresql.org/docs/current/manage-ag-templatedbs.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值