前言

模式schema,并不是全部所有数据库都支持,没有去罗列,以MYSQL为例,Mysql没有模式这个概念,postgresql则有。

Pgsql的模式就对应MySQL里不同的库。可以理解成MySQL只有一层,但是pgsql有二层。

MySQL是直接选择哪个库,进行连接。

PGSQL有两层,连接库时不指定模式则默认选择public模式,(PGSQL新建数据库时,会默认新建一个public模式)模式和模式之间是完全隔离的。

连接指定模式

1
jdbc:postgresql:l/localhost:5432/postgresql

在这种连接方式下,默认连接使用的是postgresql数据库的public模式、在业务场景中有时允许多个用户使用一个数据库并且不会互相干扰。这时需要在使用同一个数据库新建其他模式进行连接。这时在springboot的数据源jdbc配置时注意。

1
2
#postgresql-> 9.3及以前的版本指定方式
spring.datasource.url=jdbc:postgresql:/localhost:5432/postgresql?searchpath=newschema
1
2
3
#postgresql-> 9.4及以后的版本指定方式
spring.datasource.url=jdbc:postgresql://localhost:5432/postgresql?currentSchema=newschema

封面

原神 云堇