PostgreSQL 数据库模式基础操作

server/2025/2/5 5:17:52/

查看数据库或者使用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/server/165070.html

相关文章

python属性修饰器

在 Python 中,属性装饰器(property) 是一种用于管理类属性访问的高级工具,它可以让你在访问或修改属性时添加自定义逻辑(如数据验证、计算属性等)。 1. 基础用法:将方法伪装成属性 property 允…

【Block总结】Shuffle Attention,新型的Shuffle注意力|即插即用

一、论文信息 标题: SA-Net: Shuffle Attention for Deep Convolutional Neural Networks 论文链接: arXiv 代码链接: GitHub 二、创新点 Shuffle Attention(SA)模块的主要创新在于高效结合了通道注意力和空间注意力,同时通过通道重排技…

在Windows下安装Ollama并体验DeepSeek r1大模型

在Windows下安装Ollama并体验DeepSeek r1大模型 Ollama在Windows下安装 Ollama官网:Ollama GitHub 下载Windows版Ollama软件:Release v0.5.7 ollama/ollama GitHub 下载ollama-windows-amd64.zip这个文件即可。可以说Windows拥抱开源真好&#xf…

本地部署DeepSeek开源多模态大模型Janus-Pro-7B实操

本地部署DeepSeek开源多模态大模型Janus-Pro-7B实操 Janus-Pro-7B介绍 Janus-Pro-7B 是由 DeepSeek 开发的多模态 AI 模型,它在理解和生成方面取得了显著的进步。这意味着它不仅可以处理文本,还可以处理图像等其他模态的信息。 模型主要特点:Permalink…

2021版小程序开发5——小程序项目开发实践(1)

2021版小程序开发5——小程序项目开发实践(1) 学习笔记 2025 使用uni-app开发一个电商项目; Hbuidler 首选uni-app官方推荐工具:https://www.dcloud.io/hbuilderx.htmlhttps://dev.dcloud.net.cn/pages/app/list 微信小程序 管理后台:htt…

GESP2023年12月认证C++六级( 第三部分编程题(1)闯关游戏)

参考程序代码&#xff1a; #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #include <string> #include <map> #include <iostream> #include <cmath> using namespace std;const int N 10…

React+Cesium基础教程(003):加载3D建筑物和创建标签

文章目录 03-加载3D建筑物和标签方式一方式二完整代码03-加载3D建筑物和标签 方式一 添加来自 OpenStreetMap 的建筑物模型,让场景更加丰富和真实: viewer.scene.primitives.add(new Cesium.createOsmBuildings() );方式二 使用 Cesium ion 资源:

android java系统弹窗的基础模板

1、资源文件 app\src\main\res\layout下增加custom_pop_layout.xml 定义弹窗的控件资源。 <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.com/apk/…