PostgreSQL约束、表空间、视图、物化视图、索引、事务(MVCC和锁)、数据备份和恢复

一、PostgreSql的表约束:

1、构建表:create table  

2、构建表时指定约束:

   (1)主键约束: primary  key,

create  table    table_name(

        id    bigserial   primary  key,

        name  varchar(32)     not  null,

        id_card   varchar(32)    unique

        price   numeric     check(price > 0),

        discount_price    numeric     check(discount_price > 0),

        check(price  >  discount_price )

);

(2)非空约束:not  null,

(3)唯一约束:unique,

(4)检查约束: check(price > 0)

(5)外键约束(不建议,会导致级联关联)

二、默认值:一般公司要求除了主键和业务,必须要有5个字段:

created

created_id

updated

update_id

deleted

三、触发器:Trigger,本质上是由事件触发的一种存储过程

如:对表进行insert、update、delete、truncate时,会触发表的Trigger

四、表空间(tablespace)

在PostgreSQL中,在存储数据时,数据必须要落到磁盘。基于构建的tablespace,指定数据存储的磁盘路径;默认都是在pgsql的安装目录下,data文件夹下

select  pg_relation_file_path('表名')

当创建表时指定了表空间,则默认存储表空间存储了一个链接,指向指定的实际存储的磁盘目录

五、视图:

和mysql没区别,对用户来说,就是一张真实的表,对开发就是一条sql:

create   view   视图名称   as

(select    id,name,real_name  from  user)     ----  仅查询部分字段,不查询密码

简单视图允许写操作,但不推荐,因为视图实际上是写的表数据

六、索引:

分类:

 pgsql中使用的是B-Tree索引

Hash索引(和msql一样)

GIN索引:主要针对字段有多个,比如数组

七、事务

MVCC和锁

1、mvcc

        事务的ACID:

        事务隔离级别:

        mvcc执行原理:隐藏字段 +根据事务隔离级别去查询哪行的数据

        保存点(savepoint):事务部分提交和回滚

2、锁:

行锁和表锁

八、备份和数据恢复

1、sql导出和导入

2、文件和文件夹备份

3、基于redolog的数据备份和恢复

相关推荐

  1. PostgreSQL 数据库备份恢复

    2024-07-23 03:40:02       25 阅读
  2. 数据备份恢复

    2024-07-23 03:40:02       39 阅读
  3. MySQL视图索引

    2024-07-23 03:40:02       47 阅读
  4. postgresql数据库中的建约束

    2024-07-23 03:40:02       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 03:40:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 03:40:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 03:40:02       45 阅读
  4. Python语言-面向对象

    2024-07-23 03:40:02       55 阅读

热门阅读

  1. ChatGPT:Base64字符串是什么?

    2024-07-23 03:40:02       17 阅读
  2. 科普文:搭建信贷业务大数据风控体系

    2024-07-23 03:40:02       15 阅读
  3. ImageView实现原理分析

    2024-07-23 03:40:02       18 阅读
  4. 数据结构---二叉树

    2024-07-23 03:40:02       18 阅读
  5. [k8s源码]6.reflector

    2024-07-23 03:40:02       11 阅读
  6. NumPy冷知识66个

    2024-07-23 03:40:02       15 阅读
  7. 怀庄之醉是勾兑酒吗?

    2024-07-23 03:40:02       15 阅读
  8. 【开源库学习】libodb库学习(一)

    2024-07-23 03:40:02       14 阅读