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

pg修炼之道学习笔记

一、数据库逻辑结构介绍

1、一个pg数据库服务下有多个db(多个数据库),当应用连接到一个数据库时,一般只能访问这个数据库中的数据,而不能访问其他数据库的内容(限制)

2、表索引:一个pg数据库服务包含多个db,一个db下面多个模式(schema),一个模式下多个对象(表,索引,视图等)

3、一个数据库服务叫做一个实例,一个数据库服务下可以有多个数据库,但是不能属于多个实例。

二、数据库基本操作

创建数据库命令

create database name;

 修改数据库命令

alter database name rename to newname;

注意:

1、不能在事务块中删除创建数据库,会报错。

2、 可以在十五块中修改数据库

三、模式:

1、需要使用模式的几个主要原因:

        允许多个用户在使用同一个数据库时彼此互相不干扰

        把数据库对象放在不同模式下,然后组成逻辑组,让他们更便于管理

        第三方的应用可以放在不同的模式中,这样就不会和其他对象的名字冲突。

2、oracle、mysql和pg模式的关系

        pg中的不同模式可以相当与mysql的不同库,因为mysql中不同库可以互相访问查询操作,pg中的模式也可以互相访问查询操作,但是pg中的不同库不可以互相访问,所以其实pg中的schema相当于mysql中的db。

        pg中的schema和oracle中的用户类似,或者说概念就是相同的,如果在pg中为每个用户都创建一个与用户同名的模式,那么就能与oracle数据库兼容了。即oracle有多少用户,就在pg中建多少与之同名 的模式,才可以开始迁移。

2、模式的移植性

        在sql标准里没有public模式的概念。所以为了最大限度的遵守标准,并且与其他数据库兼容,不应该使用public模式。

        当然有些数据库根本没有模式,或者时通过允许跨数据库访问来提供模式功能的(mysql),如果需要在这些数据库上实现最大限度的一致性,或许不应该使用模式。加入mysql实例中有三个数据库,在要移植到pg时,需要建三个模式,使其与mysql示例中的三个数据库相对应,而不是在pg中创建三个数据库与之对应。

http://www.lryc.cn/news/374837.html

相关文章:

  • 使用宝塔面板部署Django应用(不成功Kill Me!)
  • c++深拷贝、浅拷贝
  • k8s核心组件
  • 反编译腾讯vmp
  • Ollama:本地部署大模型 + LobeChat:聊天界面 = 自己的ChatGPT
  • JS中splice怎么使用
  • Flutter项目,Xcode15, 编译正常,但archive报错
  • 云动态摘要 2024-06-17
  • 【JavaScript脚本宇宙】图像处理新纪元:探索六大JavaScript图像处理库
  • 使用python调ffmpeg命令将wav文件转为320kbps的mp3
  • 程序启动 报错 no main manifest attribute
  • java-内部类 2
  • 【小技巧】pycharm中自动换行的实现
  • 如何修改倍福CX7000PLC IP地址
  • python安装flask,flask框架,使用静态文件、模板、get和post请求
  • Docker:Harbor
  • 2024 6.10~6.16 周报
  • clickhouse学习笔记(四)库、表、分区相关DDL操作
  • 聚焦现代商贸物流愿景 构筑供应链金融服务体系|第二届京津冀现代商贸物流金融创新发展百人大会成功举办
  • 解锁数据潜力:数据提取与治理的终极指南
  • 行列视(RCV)报表中的时间是如何处理的?
  • 成员变量和for循环里面的变量不冲突原因
  • 如何使用任意浏览器远程访问本地搭建的Jellyfin影音平台
  • CEM美国培安消解罐内管 CEM40位 55ML 微波消解罐
  • 使用 Selenium 保持登录会话信息
  • 程序员画图工具?那必然是你了!!【送源码】
  • k8s nginx.conf配置文件配置
  • XSKY 在金融行业:新一代分布式核心信创存储解决方案
  • 第9章 类
  • Elasticsearch 第二期:倒排索引,分析,映射