前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【赵渝强老师】PostgreSQL中的模式

【赵渝强老师】PostgreSQL中的模式

原创
作者头像
赵渝强老师
发布2024-11-30 09:34:07
发布2024-11-30 09:34:07
890
举报
文章被收录于专栏:PostgreSQLPostgreSQL

在PostgreSQL中,所有的数据库对象都是属于模式中的对象。这里的数据库对象包括:表、索引、视图、存储过程、触发器等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的oid都存放在相关的系统目录表中,比如数据库的oid和表的oid分别存放在pg_database,pg_class表中。

下面重点介绍一下PostgreSQL中的模式。视频讲解如下:

当创建一个数据库时,会为其自动创建一个名为“public”的默认Schema。Schema是数据库中的命名空间,在数据库中创建的所有对象都是在Schema中创建。一个用户可以从同一个客户端连接中访问不同的Schema。而不同的Schema中可以有多个同名的表、索引、视图、序列、函数等等各种不同的数据库对象。可以通过下面的方式来查看当前数据库的Schema。

代码语言:sql
复制
postgres=# \dn

#输出的信息如下:  

  List of schemas
  Name  |  Owner   
--------+----------
 public | postgres
(1 row)

用户也可以创建自己的模式,例如:下面的语句创建了一个名叫demo的模式,并在该模式上创建了一张表。

代码语言:sql
复制
postgres=# create schema demo;
postgres=# create table demo.table1(tid int,tname varchar(10));

注意,在Oracle数据库中也存在模式的概念。当创建一个Oracle用户的时候会自动创建一个同名的模式;也就是说,在Oracle中用户就是模式,它们是一对一的关系。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档