database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 10306 게시물 읽기
No. 10306
인덱스 생성 시 에러가납니다 ㅜㅠ
작성자
포스트초보
작성일
2021-12-14 17:15
조회수
1,988

대용량 데이터라 인덱스 생성시

CREATE INDEX CONCURRENTLY gin_s1_idx ON test_table USING GIN (s1 gin_trgm_ops);

이렇게 gin Index를 생성하려고하는데 에러가납니다 ㅜㅠ


ERROR: cannot create index on partitioned table "test_table " concurrently SQL

state: 0A000


CONCURRENTLY를 빼면 생성은 되는데 너무 오래걸리고 Insert도 멈춥니다 ㅜㅠ


pgAdmin의 UI에서 만들려고하면 

ERROR: CREATE INDEX CONCURRENTLY cannot run inside a transaction block

이렇게 에러가나고...


혹시 제가뭔가를 잘못하거나 방법이있나요 ㅜㅠ?

이 글에 대한 댓글이 총 3건 있습니다.

0A000 에러코드가 지원되지 않는 기능이라는 뜻이네요.

파티션 테이블은 concurrently 옵션으로 인덱스 생성이 안되나봅니다.

대신에 아래 내용에서 각 파티션별로 인덱스를 만드는 방법을 제시하네요


https://www.postgresql.org/docs/11/sql-createindex.html


Concurrent builds for indexes on partitioned tables are currently not supported. However, you may concurrently build the index on each partition individually and then finally create the partitioned index non-concurrently in order to reduce the time where writes to the partitioned table will be locked out. In this case, building the partitioned index is a metadata only operation.


아니면 ALTER INDEX로 ATTACH를 해보는건 어떨까요?

https://www.postgresql.org/docs/current/ddl-partitioning.html#DDL-PARTITIONING-DECLARATIVE-EXAMPLE

 

정상규(pajama)님이 2021-12-14 17:58에 작성한 댓글입니다.
이 댓글은 2021-12-14 18:07에 마지막으로 수정되었습니다.

와 너무 감사합니다!!! 지원하지않는기능이라니..

덕분에 ATTACH를 하는방법으로 해결할수있습니다 ㅜㅠ

너무너무 감사합니다!!

포스트초보님이 2021-12-14 18:48에 작성한 댓글입니다. Edit

trgm 은 지난 pgday에서 알려드렸듯이

그냥 gin, gist 인덱스 공부용으로, 자료가 적을 때 쓰는 모듈입니다.

요즘같이 수백~수천만 자료를 다루는 상황에서는

그다지 추천드리지 않는 모듈입니다.

파티션까지 고려한 테이블에서는 더더욱 :)


참고하세요.

김상기(ioseph)님이 2021-12-15 03:16에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
10309postgresql 12버전 UI 관련 문의 [1]
고준구
2022-01-07
1411
10308SQL 질문드립니다. [7]
전성용
2022-01-06
1508
10307pg 안정화 버전 추천 부탁드립니다! [3]
김성아
2021-12-31
1714
10306인덱스 생성 시 에러가납니다 ㅜㅠ [3]
포스트초보
2021-12-14
1988
10305오류: 1114 블럭을 "base/16385/16536" 파일에서 읽을 수 없음: 0 / 8192 바이트만 읽음 [1]
황성범
2021-12-13
1902
10304postgresql 로딩 [15]
192hkh
2021-12-08
1794
10303pg_stat_user_tables Replication 복제 [4]
채상호
2021-12-06
1645
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다