PostgreSQL删除与创建模板数据库

编程入门 行业动态 更新时间:2024-10-09 11:17:14

PostgreSQL删除与创建<a href=https://www.elefans.com/category/jswz/34/1770549.html style=模板数据库"/>

PostgreSQL删除与创建模板数据库

作者:瀚高PG实验室 (Highgo PG Lab)- 徐云鹤
首先查看目前存在的数据库。

highgo=# \lList of databasesName    | Owner  | Encoding | Collate | Ctype | Access privileges 
-----------+--------+----------+---------+-------+-------------------highgo    | highgo | UTF8     | C       | C     | template0 | highgo | UTF8     | C       | C     | =c/highgo        +|        |          |         |       | highgo=CTc/highgotemplate1 | highgo | UTF8     | C       | C     | =c/highgo        +|        |          |         |       | highgo=CTc/highgo
(3 rows)highgo=

尝试删除数据库。

highgo=# drop database template1; 
ERROR:  42809: cannot drop a template database

提示禁止删除一个模板数据库。
查询该数据库的datistemplate项。

highgo=# select datname ,datistemplate from pg_database where datname='template1';datname  | datistemplate 
-----------+---------------template1 | t
(1 row)

更新该值为假。

highgo=# UPDATE pg_database SET datistemplate=false where datname='template1';
UPDATE 1

再次查询。

highgo=# select datname ,datistemplate from pg_database where datname='template1';datname  | datistemplate 
-----------+---------------template1 | f
(1 row)

删除数据库。


highgo=# drop database template1; 
DROP DATABASE

以highgo数据库为模板创建数据库tempbak。


highgo=# create database tempbak template highgo;      
CREATE DATABASE

查询该数据库的datistemplate项。

highgo=# select datname ,datistemplate from pg_database where datname='tempbak';datname | datistemplate 
---------+---------------tempbak | f
(1 row)

更新该列。

highgo=# UPDATE pg_database SET datistemplate=true WHERE datname='tempbak';
UPDATE 1
highgo=#  select datname ,datistemplate from pg_database where datname='tempbak';datname | datistemplate 
---------+---------------tempbak | t
(1 row)
highgo=# \lList of databasesName    | Owner  | Encoding | Collate | Ctype | Access privileges 
-----------+--------+----------+---------+-------+-------------------highgo    | highgo | UTF8     | C       | C     | tempbak   | highgo | UTF8     | C       | C     | template0 | highgo | UTF8     | C       | C     | =c/highgo        +|        |          |         |       | highgo=CTc/highgo
(3 rows)

尝试删除该数据库。

highgo=# drop database tempbak;
ERROR:  42809: cannot drop a template database
highgo=# 







更多推荐

PostgreSQL删除与创建模板数据库

本文发布于:2024-02-06 15:32:21,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1749752.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:模板   数据库   PostgreSQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!