PostgreSQL 数据库模式基础操作

embedded/2025/2/7 23:29:29/

查看数据库或者使用pgAdmin或者QGIS查看PG数据库时,可以看到数据库名下面有一个Public,然后才是具体的表,搜索了一下,按照PG官网:https://www.postgresql.org/docs/current/ddl-schemas.html 的说明,这个Public数据库的模式。PostgreSQL的架构中包含 模式(Schema) 的概念。模式是数据库中的一个逻辑分区,用于组织表、视图、函数等对象。一个数据库可以包含多个模式,模式之间可以隔离,避免命名冲突。但是在MySQL中,模式(Schema)和数据库是同义词,MySQL的架构相对简单,主要由实例、数据库、表和列组成。也就是说PG比MySQL多了一层架构

官网提及到使用 Schema 的原因有多种:

  • 允许多个用户使用一个数据库而不会相互干扰。
  • 数据库对象组织到逻辑组中,使其更易于管理。
  • 第三方应用程序可以放入单独的架构中,这样它们就不会与其他对象的名称发生冲突。

我们创建了表,但未指定任何架构名称时,在这种默认情况下,会自动放入名为 “public” 的模式中。每个新数据库都包含这样的架构。因此,以下内容是等效的:

CREATE TABLE  表名(表结构);
CREATE TABLE public.表名(表结构);

此外,还可以创建模式、在模式下创建表、删除模式。创建模式使用 CREATE SCHEMA 命令,并为 schema 指定名称:

CREATE SCHEMA 模式名称;

如果要在模式中访问表或者创建表,可以使用 模式名称.表名称 或者 数据库名称.模式名称.表名称 的形式进行访问或创建。

schema.table
database.schema.table
# 模式中创建表
CREATE TABLE schemaName.tableName(表结构);

如果删除模式,需要考虑模式内是否有内容。如果 schema 中没有任何对象,可以直接删除;如果 schema 中包含表、视图或其他对象,必须使用 CASCADE来删除模式及其内部的所有对象,一旦执行,这些对象将无法恢复,除非有数据库备份。

DROP SCHEMA schema名称;
DROP SCHEMA schema名称 CASCADE;

此外,官网详细介绍了CASCADE、模式和权限、系统目录架构、使用模式和可移植性等内容,我感觉暂时没有就没学习和做笔记,大家可以去看官网。


http://www.ppmy.cn/embedded/160408.html

相关文章

PHP-trim

[题目信息]: 题目名称题目难度PHP-trim1 [题目考点]: trim() 函数移除字符串两侧的空白字符或其他预定义字符。[Flag格式]: SangFor{dl9hFiITmhQNAJysCgigAskyCZ6kQaDc}[环境部署]: docker-compose.yml文件或者docker tar原始文件。 ht…

安全实验作业

一 拓扑图 二 要求 1、R4为ISP,其上只能配置IP地址;R4与其他所有直连设备间均使用共有IP 2、R3-R5-R6-R7为MGRE环境,R3为中心站点; 3、整个OSPF环境IP基于172.16.0.0/16划分; 4、所有设备均可访问R4的环回&#x…

中国城商行信贷业务数仓建设白皮书(第四期:机器学习中台建设)

一、特征工程服务体系 1.1 特征分层架构 构建全行级特征工厂,实现"三横四纵"特征治理模型: ┌───────────────┐ │ 应用特征层 │ │ (实时特征服务) │ └───────┬───────┘ …

vue3中的ref相关的api及用法

在 Vue 3 中&#xff0c;ref 相关的 API 主要用于管理响应式数据。以下是 ref 相关的 API 及其用法&#xff1a; 1. ref ref 用于创建响应式的基本数据类型或对象。 用法示例&#xff1a; <script setup> import { ref } from vue;const count ref(0);const incremen…

node.js使用mysql2对接数据库

一、引言 在现代Web开发中&#xff0c;Node.js作为一种高效、轻量级的JavaScript运行时环境&#xff0c;已经广泛应用于后端服务的开发中。而MySQL&#xff0c;作为一个广泛使用的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;提供了强大的数据存储和查询功能…

[转]Java面试近一个月的面试总结

本文是在学习中的总结&#xff0c;欢迎转载但请注明出处&#xff1a;http://blog.csdn.net/pistolove/article/details/46753275 前言 打算换个工作&#xff0c;近一个月面试了不少的公司&#xff0c;下面将一些面试经验和思考分享给大家。另外校招也快要开始了&#xff0c;为…

maven如何不把依赖的jar打包到同一个jar?

spring boot项目打jar包部署&#xff1a; 经过以下步骤&#xff0c; 最终会形成maven依赖的多个jar&#xff08;包括lib下添加的&#xff09;、 我们编写的程序代码打成一个jar&#xff0c;将程序jar与 依赖jar分开&#xff0c;便于管理&#xff1a; success&#xff1a; 最终…

C++编程语言:抽象机制:模板(Bjarne Stroustrup)

目录 23.1 引言和概观(Introduction and Overview) 23.2 一个简单的字符串模板(A Simple String Template) 23.2.1 模板的定义(Defining a Template) 23.2.2 模板实例化(Template Instantiation) 23.3 类型检查(Type Checking) 23.3.1 类型等价(Type Equivalence) …