当前位置: 首页 > news >正文

做网站广告软件网站系统设计目标

做网站广告软件,网站系统设计目标,百度关键词点击器,网页图片排版查找所有的数据库 select datname from pg_database运行该命令后,我们会发现其中出现了一些其它的数据库接下来,我们分析 template0 和 template1 的作用。template1 template1 是 PostgreSQL 默认用于创建新数据库的模板。当执行 CREATE DATABASE new_d…

查找所有的数据库

select datname from pg_database

运行该命令后,我们会发现其中出现了一些其它的数据库

在这里插入图片描述

接下来,我们分析 template0template1 的作用。


template1

template1 是 PostgreSQL 默认用于创建新数据库的模板。当执行 CREATE DATABASE new_db; 时,PostgreSQL 实际上会复制 template1 的内容来创建 new_db

这意味着:

  • 你可以修改 template1:如果你在 template1 中添加了表、函数、扩展或其他对象,那么之后所有基于 template1 创建的新数据库都会包含这些对象。这对于在所有新数据库中预装一些常用结构或扩展非常有用。
  • 需要小心修改:虽然可以修改 template1,但修改后,所有新数据库都会继承这些修改。如果你只想某个数据库有特定对象,最好在创建该数据库后再添加,而不是修改 template1

template0

template0 也是一个模板数据库,但它有一个关键特性:它被设计成一个 “纯净”的模板

这意味着:

  • 不能修改 template0:你不能直接在 template0 中添加、删除或修改对象。

  • 用于恢复或特定编码template0 的主要用途是当 template1 被修改后,如果你需要创建一个完全没有任何自定义对象的新数据库时,可以使用 template0。例如,当你需要创建使用不同字符集编码的数据库时,通常会基于 template0 来创建,以确保编码的一致性。
    你可以通过以下方式基于 template0 创建数据库:

    CREATE DATABASE my_clean_db TEMPLATE template0;
    

简而言之,template1 是你常用的模板,可以自定义;而 template0 是一个干净的、不可修改的模板,用于特定情况,比如创建纯净的数据库或者处理字符集问题。


创建更多自定义的模板

  1. 创建一个普通的数据库: 首先,你需要创建一个常规的数据库。
CREATE DATABASE my_custom_template;
  1. 配置你的新数据库: 连接到这个新创建的数据库 (my_custom_template),并向其中添加所有你希望在新数据库中自动包含的对象。这包括:

    • 表结构(CREATE TABLE
    • 视图(CREATE VIEW
    • 函数和存储过程(CREATE FUNCTION
    • 扩展(CREATE EXTENSION), 例如 uuid-ossppg_trgm 等。
    • 预设数据(INSERT INTO
    • 权限设置(GRANT
-- 添加一个扩展
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";-- 创建一个表
CREATE TABLE users (id UUID DEFAULT uuid_generate_v4() PRIMARY KEY,username VARCHAR(50) NOT NULL UNIQUE,email VARCHAR(100) NOT NULL
);-- 插入一些初始数据
INSERT INTO users (username, email) VALUES ('admin', 'admin@example.com');
  1. 将数据库标记为模板: 完成配置后,断开与该数据库的所有连接。然后,你需要修改其属性,将其标记为一个模板。这个操作需要超级用户权限,并且不能在连接到该数据库时执行。
update pg_database set datistemplate = true where datname = 'my_custom_template';
  1. 根据模板创建数据库
create database mydb template my_custom_template

注意:
只有超级用户才能将数据库标记为模板。

断开连接: 在将数据库标记为模板(ALTER DATABASE ... IS TEMPLATE TRUE;)之前,必须确保没有其他会话连接到该数据库。否则,操作会失败。

模板的修改: 理论上,你可以修改一个已经被标记为模板的数据库。但是,当你修改它时,所有当前连接到它的会话也必须被断开。最佳实践是,如果你需要更新模板,可以先将它设置为 IS TEMPLATE FALSE,进行修改,然后再设置为 IS TEMPLATE TRUE

  1. 查看有哪些template
SELECT datname
FROM pg_database
WHERE datistemplate = TRUE;
http://www.dtcms.com/a/532075.html

相关文章:

  • 使用稀疏采样方法减轻汽车雷达干扰——论文阅读
  • 阮一峰《TypeScript 教程》学习笔记——d.ts 类型声明文件
  • Spring AOP:横切关注点的优雅解决方案
  • 如何申请网站空间和注册域名鞋子软文推广300字
  • 基于AutoDL远端服务器在pycharm复现:具身智能论文pai0
  • 如何看访问网站的dns网站开发难不难
  • 数据结构·堆
  • 阮一峰《TypeScript 教程》学习笔记——类型映射
  • 需要做网站建设和推广网站地图插件
  • PyCharm 设置 Tabs and Indents
  • Spring Boot3零基础教程,生命周期监听,自定义监听器,笔记59
  • 【SpringBoot】详解Maven的操作与配置
  • 【C++】STL容器--priority_queue的使用与模拟实现
  • 【系统分析师】高分论文:论需求分析方法及应用(电子商务门户网站系统)
  • 【大模型应用开发 6.LangChain多任务应用开发】
  • 泰安最好的网站建设公司怎么通过做网站赚钱吗
  • 初识C语言15.文件操作
  • 聊聊连续、递增
  • 9款上班打卡软件测评:帮你选出最适合企业的工具
  • 建站服务网络公司建设宣传网站上的请示
  • Mem0 使用案例学习总结 - 记忆化应用结构
  • 如何自动清理 Linux 临时文件 ?
  • C++容器forward_list
  • 茂名网站建设培训品牌宣传网站
  • 油漆工找活做的网站网站免费建设
  • TcpClinet
  • Appium+Python+Android+Nodejs环境安装
  • SCDN:互联网时代网站安全的安全保障
  • Linux小课堂: Apache服务在CentOS上的安装与基础配置指南
  • Gorm(八)预加载方式