pgsql中对索引的操作

查看表中的索引的信息

select * from pg_indexes

where tablename='prm_prom_bill_rule';  

SELECT
    tablename,
    indexname,
    indexdef
FROM
    pg_indexes
WHERE
    tablename = 'prm_prom_bill_cate_brand' ;

或者     select * from pg_statio_all_indexes where relname=‘tbname‘;

 

 设置自增索引的初始值:

select setval('prm_letter_id_seq', 2535);

 select setval('t_custom_model_id_seq',1,false);

tablename 中填充需要查看的表的索引的信息。

Create Unique Index prm_prom_bill_rule_id_un On prm_prom_bill_rule(bill_rule_id, bill_id);

创建索引 

 prm_prom_bill_rule_id_un 创建的索引的名字

prm_prom_bill_rule 表的名字

bill_rule_id, bill_id 表中关联的字段

DROP INDEX index;   

index中填充的就为你想要删除的索引的信息

无法删除DBMS为主键约束和唯一约束自动创建的索引
eg:
Create  Index prom_rule_id_prm_prom_rule_index On prm_prom_rule(prom_rule_id);

删除索引的方法:

Drop Index idx_tb_user_UNQ Cascade;

Cascade表示级联删除,表示引用这个的地方也会被删除

创建索引可以添加where条件

Create Unique Index idx_tb_user_UNQ On tb_user(login_name,group_id) WHERE delete_flag = '0';

上面的sql表示delete_flag=0的数据才有唯一索引约束。

 

posted @ 2022-12-07 18:37  diligently  阅读(735)  评论(0)    收藏  举报