Database 4

SQL Error [1950] [42000]: ORA-01950: 테이블스페이스 'USERS'에 대한 권한이 없습니다.

에러 메시지:더보기SQL Error [1950] [42000]: ORA-01950: 테이블스페이스 'USERS'에 대한 권한이 없습니다. 에러 사유: 1. 유저를 생성할 때, default table space 를 주지 않았음2. DEFAULT TABLESPACE를 안 주면 DEFAULT TABLESPACE = USERS 로 잡아버림3. 테이블스페이스에 데이터를 쓸 수 있는 권한이 없었음. 해결 방법:ALTER USER NAVERCLONE QUOTA UNLIMITED ON USERS;-> NAVERCLONE 사용자가 USERS 테이블스페이스에 데이터를 저장할 수 있는 용량 권한을 무제한으로 준다. 최근 운영 환경에서도 나타났던 에러 메시지여서 익숙하였다지금까지 한번도 본 적 없는데 최근에 꽤 자주 ..

Database 2026.01.26

[Postgresql] 인덱스 테이블스페이스 변경

PostgreSQL 인덱스 테이블스페이스 변경 방법 정리 대용량 테이블을 운영하면서 디스크 IO 분산을 위해 인덱스를 별도의 테이블스페이스로 이동해야 할 일이 생긴다면, 버전별로 가능한 방법이 다릅니다. 이 글에서는 PostgreSQL 13 버전 이전, 14 버전 이후 기준으로 인덱스 테이블스페이스를 변경하는 방법을 정리합니다.문제: 인덱스가 기본 테이블스페이스인 pg_default에 생성되어 디스크 과부하 발생목표: 인덱스를 NAS 디스크 등에 위치한 테이블스페이스로 옮기기제한: 인덱스 데이터 파일 이동이 명확히 수행되어야 하며, 기존 경로는 더 이상 사용할 수 없음14 버전 이상PostgreSQL 14 이상PostgreSQL 14부터는 아래 문법을 통해 전체 테이블의 인덱스를 특정 테이블스페이스로 손..

Database 2025.07.02

[PostgreSQL] 쿼리가 느린 이유: Seq Scan과 인덱스 누락

해당 쿼리문이 이상하게 늦다 싶으실 때 PK를 확인하는 쿼리문SELECT a.attname AS column_nameFROM pg_index iJOIN pg_attribute a ON a.attrelid = i.indrelid AND a.attnum = ANY(i.indkey)WHERE i.indrelid = 'table_name'::regclass AND i.indisprimary;dbeaver 같은 편집기에서도 쉽게 확인할 수 있지만, 사용 불가라면 저 쿼리문을 사용하시면 됩니다+ 번외EXPLAIN ANALYZEUPDATE table_nameSET img_down_cd = 'S', img_nas_path = '/path/to/file.jpg', img_down_crtmm = CURRE..

Database 2025.06.23

[PostgreSQL] COPY

PostgreSQL은 COPY 문법이 있어서 SAM 파일만 있다면 쉽게 이관이 가능합니다. COPY 테이블명 (컬럼1, 컬럼2, ...)FROM '/절대/경로/파일.csv'WITH ( FORMAT csv, DELIMITER ',', QUOTE '"', NULL '', HEADER true, ENCODING 'UTF8'); 옵션설명FORMAT csvCSV 형식 지정 (또는 text)DELIMITER구분자 ex) , ;QUOTE문자열 감쌀 때 사용하는 기호NULLNULL 처리할 문자열HEADER첫줄이 컬럼명이면 true, 바로 데이터면 falseENCODINGUTF8 등 * 주의사항data.csv 파일의 필드(데이터) 순서와 COPY 대상 테이블에 지정한 컬럼 순서가 정확히 ..

Database 2025.06.17