일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- const
- boolean
- appendChild
- createtextnode
- 학습법 #집중력
- FOR
- createElement
- input
- VAR
- Append
- Openlayers
- Let
- htmlFor
- Today
- Total
Atomic Habits
[Postgre] 테이블의 인덱스 불일치 판단 본문
-- 운영/배포 테이블 PK/INDEX 비교
( 테이블명, _new or _bak)만 변경해주면 운영, 배포 테이블의 인덱스와 제약조건을 비교한다. )
select tablename,
string_agg(CASE WHEN indexdef ~ '(UNIQUE)' THEN 'UNIQUE' ELSE '' END||substring(indexdef from '\(.*\)') , ', ' ORDER BY indexdef)
from pg_indexes
where tablename like 'fil%'
and tablename not like '%new' -- 운영 데이터
group by tablename
except -- union all
select replace(tablename, '_new',''),
string_agg(CASE WHEN indexdef ~ '(UNIQUE)' THEN 'UNIQUE' ELSE '' END||substring(indexdef from '\(.*\)') , ', ' ORDER BY indexdef)
from pg_indexes
where tablename like 'films%new' -- 배포 데이터
group by tablename;
-- 통과 (테이블명, _new or _bak)만 변경해주면 운영, 배포 테이블의 인덱스와 제약조건을 비교한다.
select tablename,
string_agg(CASE WHEN indexdef ~ '(UNIQUE)' THEN 'UNIQUE' ELSE '' END||substring(indexdef from '\(.*\)') , ', ' ORDER BY indexdef)
from pg_indexes
where tablename like 'fil%'
and tablename not like '%new' -- 운영 데이터
group by tablename
except -- union all
select replace(tablename, '_new',''),
string_agg(CASE WHEN indexdef ~ '(UNIQUE)' THEN 'UNIQUE' ELSE '' END||substring(indexdef from '\(.*\)') , ', ' ORDER BY indexdef)
from pg_indexes
where tablename like 'films%new' -- 배포 데이터
group by tablename;
-- 통과
SELECT * FROM pg_indexes WHERE TABLENAME like '테이블명%';
-- 정규식 에러
SELECT indexdef, substring(indexdef from '(?<=\().*(?=\))')as P FROM pg_indexes WHERE TABLENAME like 'tl_legalzone_emd_apt_rent%';
--CREATE INDEX t_gid ON public.tl_bak USING btree (gid)
--CREATE UNIQUE INDEX tl_pkey ON public.tl_bak USING btree (gid)
---------------------
~ 표시는 Like + 정규식 역할을 한다.
text ~ text → boolean
String matches regular expression, case sensitively
'thomas' ~ 't.*ma' → t
'IT > SQL' 카테고리의 다른 글
[postgre] 기존 테이블에서 인덱스/PK 생성-삭제문 출력하기 (0) | 2021.12.11 |
---|---|
[Oracle] 기존 테이블에서 인덱스/PK 생성-삭제문 출력하기 (0) | 2021.12.11 |
[Oracle] 테이블의 인덱스 불일치 판단 (0) | 2021.11.20 |
[Oracle] 오라클 아우터 조인 (외부조인) (Outer Join, Ansi Join) (0) | 2021.11.20 |
[Oracle] 오라클 WITH절 사용법 & 예제 (임시 테이블 만들기) (0) | 2021.11.20 |