首页 > 数据库 >postgresql下Schema和DataBase

postgresql下Schema和DataBase

时间:2024-08-28 11:48:14浏览次数:9  
标签:postgresql DataBase 数据库 database 实例 PostgreSQL Schema schema

database —> schema —> table

1.同一个实例下,不同database是不能相互访问的,即独立的。

2.同一个数据库,不同模式下的表是可以相互访问,即可共享的

3.不同模式下,表名可以是一样。也就是表在模式下是独立。

##授权某个库下的某个模式下有创建表的权限
grant create on database db_name to 'role_user';
grant create on schema sm_name to 'role_user';

类比理解:

postgresql中的database,可以看作mysql的一个实例
postgresql中的schema,可以看作mysql的database
postgresql中的table,可以看作mysql的table

 

postgresql的database和schema的理解_postgresql database schema-CSDN博客

 

=========================================================================================

PG的逻辑结构:

第一层是实例(Instance)。
第二层是数据库(Database);一个实例下有多个数据库;每个数据库之间是完全独立的。
第三层是Schema;数据库下面有多个Schema;其中“public” 是数据库创建时产生的。
每个Schema下面可以创建表,视图,索引,函数,序列,物化视图,外部表等等。

注意:

在PostgreSQL每个数据库是完全独立的;所以访问同一个实例下其他数据库需要借用 dblink或者fdw接口)。
在PostgreSQL同一实例下,不能直接访问其它数据库【MySQL可以,因为MYSQL跟PostgreSQL逻辑结构不一样,MYSQL实例中的数据库相当于PostgreSQL的第三层的Schema】

PostgreSQL教程--逻辑结构:实例、数据库、schema、表之间的关系_数据库schema和实例的区别-CSDN博客

 

=========================================================================================

实例/Database/Schema/对象关系
在PostgreSQL中,这几者之间关系为:

PG数据库服务(实例)

  └ database1

    └ schemaA

      └ table_T1

      └ table_T2

      └ view_V1

    └ schemaB

  └ database2

    └ schemaA

    └ schemaB

  └ database3

    └ schemaA

    └ schemaB

 

PG数据库服务(实例)中可以有多个数据库(database),在psql工具中可以通过\c切换所连接的库。每个数据库下有不同的shema、每个schema下有不同的对象。

MySQL没有上图中数据库概念,只有上图的schema(在MySQL中schema也称为database,实际应为schema)
在Oracle中,用户与Schema是绑定对应的,一个用户就是一个Schema。

03:PostgreSQL逻辑结构(表空间、数据库、模式、表、索引)_pg数据库创建模式-CSDN博客

标签:postgresql,DataBase,数据库,database,实例,PostgreSQL,Schema,schema
From: https://www.cnblogs.com/lin-yysy/p/18384358

相关文章

  • openGuass——表空间、数据库、Schema详解
    目录一、表空间二、数据库三、模式:Schema四、databaseschematable之间的关系五、表六、分区表七、索引八、视图九、序列十、同义词十一、约束一、表空间自带了两个表空间:pg_default和pg_global。查看命令:\db默认表空间pg_default:用来存储非共享系统表、用......
  • postgresql 断电后无法重启问题
    问题描述LOG:databasesystemwasinterrupted;lastknownupat2024-07-0405:03:31UTCFATAL:thedatabasesystemisstartingup解决办法PostgreSQL9.6及以下版本使用pg_resetxlog,高于9.6使用pg_resetwalps:这边数据版本为12.3步骤:先把数据库发布订阅停止......
  • Qt5.14.2 操作PostgreSQL 记录
    在Qt5.14.2中操作PostgreSQL数据库.#include<QSqlDatabase>#include<QSqlQuery>#include<QSqlError>#include<QDebug>//初始化数据库连接QSqlDatabasedb=QSqlDatabase::addDatabase("QPSQL");//qDebug()<<"aaaa"......
  • PostgreSQL基础
    1.数据类型1.4布尔类型bool1.5网络地址类型cidr:对ip和子网掩码合法性做校验,输出时会带子网掩码inet:对ip做校验,输出时有可能带子网掩码macaddr和macaddr8:MAC地址1.5.1操作符1.5.2函数host:取ip地址SELECThost(cidr'192.168.2.0/24')text:取ip和子网掩码SE......
  • 如何考取PostgreSQL认证证书?
    PostgreSQL数据库炙手可热,国内知名的腾讯云TDSQL、阿里云PolarDB都有PostgreSQL版本的产品,还有人大金仓、华为opengauss、翰高数据库等都跟PostgreSQL有关系,所以考一个PostgreSQL认证非常有必要。要获得PostgreSQL认证,可以从以下几个方面着手:一、了解PostgreSQL认证体系PostgreS......
  • JuiceFS元数据引擎PostgreSQL
    使用PostgreSQL作为JuiceFS元数据引擎,各表的含义和字段做一个简单归纳juicefs数据库用于存储juicefs文件信息postgres=#\lListofdatabasesName|Owner|Encoding|LocaleProvider|Collate|......
  • PostgreSQL:后端开发者的瑞士军刀
    PostgreSQL:后端开发者的瑞士军刀在后端开发的世界中,PostgreSQL不仅是一个数据库,它更像是一个多功能的瑞士军刀,为开发者提供了强大的工具来构建和维护复杂的数据系统。作为一名资深后端开发者,我想分享一些关于PostgreSQL的见解和技巧,这些经验来自于我在多个项目中的实际应用......
  • 05-03 Map Persistent Objects to Database Views(将持久对象映射到数据库视图 )
    MapPersistentObjectstoDatabaseViews(将持久对象映射到数据库视图)CreateaPersistentClass(创建持久类)Createapersistentclass.Theclassnameshouldmatchtheviewname.创建一个持久类。类名应与视图名匹配。AssignthePersistentattributetotheper......
  • SQL_Postgresql-一些扩展和应用
    数据库数据库上托应用,下连基础设施,是整个IT系统中,承上启下最为关键的一环PostgresqlPG以C语言写成,因此其内部公开的接口(无论是FDW的回调函数接口还是供FDW使用的内部接口)都是面向C语言设计的,时空地理分布式,时序文档超融合PostgreSQL把锁分为三类,table-leve......
  • 使用 JsonSchema 校验 JSON数据
    有时候JSON数据格式需要校验是否合法,我们可以使用JsonSchema来校验数据是否合法。引入pom.xmlhttps://json-schema.org/<dependency><groupId>com.networknt</groupId><artifactId>json-schema-validator</artifactId><versio......