前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PostgreSQL Template "魔板" 怎么用?

PostgreSQL Template "魔板" 怎么用?

作者头像
AustinDatabases
发布2019-10-24 19:36:17
1.2K0
发布2019-10-24 19:36:17
举报
文章被收录于专栏:AustinDatabasesAustinDatabases

使用过PostgreSQL的同学都知道,PostgreSQL 的extension 的厉害,但问题是创建数据库时,如果记不得之前在上一个数据库做过什么 extension 那你在建立下一个数据库的时候,还要 create extension ,除非你记性好,否则 呵呵

在你安装完PostgreSQL后默认你会有

postgres

template1

template0

这三个数据库,一般来说template0 是不能连接的,而 template0 和 template1 是不能被删除的

在你创建数据库的时候,其实除了你的 create database databasename

实际上创建数据库的全部语句是

create database new template template1;

根据template1 数据库模板创建数据库NEW

那如果我想删除 template1 数据库怎么办,很简单,我们只要修改pg_database 中的一个参数就可以,删除 template1

详情请见下图

但一定不要对template0 库打任何的主意,一定的保证你有一个干净的库可以生成 template1 。

那上面的问题,如果我讲大部分常用 create extension 都创建到template1中,就可以。

下面举一个列子

我们将大部分的create extension 都建立在 template1 中

然后我们开始建立两个数据库一个使用 template0 一个使用template1 作为模板数据库

postgres=# create database new_without template template0;

CREATE DATABASE

postgres=# create database new_with template template1;

CREATE DATABASE

前提是template1 数据库已经将

create extension pg_freespacemap;打到了template1数据库上

显而易见的根据template1 创建的 new_with 数据库就不用在去 create extension pg_freespace了

但一般来说使用POSTGRESQL 有以下几个需要注意的小问题

1 不要轻易修改 template1 ,除非是确认在确认没有问题,并且每个数据库都需要的东西

2 如果要个性化的话,可以创建一个数据库,在此上进行修改,并且以此作为模板数据库

3 可以将一些运维中常用的存储过程,函数,create extension 作为一个数据库并且备份,在其他数据库中恢复,然后以此作为基准的数据库模板。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AustinDatabases 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档