2025-06-21 1. 기본 문법 ROW_NUMBER() OVER (PARTITION BY 컬럼1 [, 컬럼2, ...] ORDER BY 정렬기준)PARTITION BY: 데이터를 그룹화할 기준 컬럼입니다. 이 컬럼 기준으로 각각 독립된 그룹처럼 계산됩니다.ORDER BY: 각 그룹 내에서 순번을 매기는 정렬 기준입니다.2. 예제다음은 직원들의 부서별 입사일 순으로 순위를 부여하는 예제입니다.CREATE TABLE employees ( id SERIAL PRIMARY KEY, name TEXT, department TEXT, hired_date DATE);INSERT INTO employees (name, department, hired_date) VALUES('철수', '개발팀..
2025-02-171. 방법 //기본키 설정된 시퀀스 명확인SELECT pg_get_serial_sequence('test_schema.tb_test', 'test_id');//시퀀스 현재 테이블에서 사용중인 맥스값으로 변경SELECT setval( 'test_schema.tb_test_test_id_seq', (SELECT COALESCE(MAX(test_id), 1) FROM test_schema.tb_test));// 시퀀스 맥스값 확인SELECT last_value FROM test_schema.tb_test_test_id_seq;메인 이미지 출처 : 사진: Unsplash의Vadim Sadovski
2025-02-101. 확장 프로그램 설치 -- 15버전일 경우 아래 다른 버전일 경우 해당 숫자만 변경yum install postgresql15-contrib2. earth_distance 확장 # earth_distance 관련 라이브러리를 사용해야 하는 DB -> 스키마로 이동한 이후에 아래 명령어 사용 create extension if not exists cube;create extension if not exists earthdistance;메인 이미지 출처 : 사진: Unsplash의Daniel Boberg
2024-12-11 테이블 생성 CREATE TABLE t ( c1 bigint, c2 int8 );여기서 c1은 BIGINT로 정의되고, c2는 INT8로 정의됩니다.이 두 타입은 동일한 데이터 타입을 참조하기 때문에 PostgreSQL은 둘을 같은 것으로 처리합니다.속성 조회 SELECT a.attname, t.typname FROM pg_class AS c JOIN pg_attribute AS a ON a.attrelid = c.oid JOIN pg_type AS t ON a.atttypid = t.oid WHERE c.relname = 't' AND a.attname IN ('c1', 'c2') ORDER BY 1; 이 쿼리는 테이블 t의 각 컬럼 이름(attname)과 데이터 타입 이름(typn..
2023-08-30 1. 가장 많은 메모리를 차지하는 이벤트(Byte) TOP 10 select EVENT_NAME, HIGH_NUMBER_OF_BYTES_USED from performance_schema.memory_summary_global_by_event_name where HIGH_NUMBER_OF_BYTES_USED > 0 order by 2 desc limit 10; 2. 현재 할당 된 총 메모리양 select event_name,current_alloc from sys.memory_global_by_current_bytes; 3. 스레드 별로 할당된 메모리양 select thread_id,user,current_allocated from sys.memory_by_thread_by_curre..
2023-08-05 1. 정의 -- 격리수준 조회 SELECT @@tx_isolation; -- 격리수준 설정 SET TRANSACTION ISOLATION LEVEL ; * READ UNCOMMITTED (커밋되지 않은 읽기) 가장 낮은 격리 수준으로 하나의 트랜잭션에서 변경한 데이터가 커밋되지 않았더라도 다른 트랜잭션에서 읽을 수 있습니다. 이로 인해 '더티 리드(Dirty Read)'와 같은 현상이 발생할 수 있으며, 다른 트랜잭션이 롤백될 경우 읽은 데이터도 롤백될 수 있습니다. 이 격리 수준은 데이터의 일관성과 고립성을 보장하지 않습니다. * READ COMMITTED (커밋된 읽기) 이 격리 수준에서는 커밋된 데이터만 다른 트랜잭션에서 읽을 수 있습니다. 따라서 '더티 리드(Dirty Read..