DBMS/Postgres(17)
-
PostgreSQL의 내부 ID : OID
OID = Object Identifier (객체 식별자)PostgreSQL 내부에서 테이블, 타입, 함수 같은 객체들을 식별하기 위한 내부 고유 번호 PostgreSQL이 내부적으로 “이 객체가 어떤 것인지” 식별하기 위해 붙여둔 PK 같은 값 타입 int4(= integer)의 OID는 23 타입 text의 OID는 25테이블 pg_type을 보면:SELECT oid, typname FROM pg_type WHERE typname IN ('int4','text'); oid | typname-----+--------- 23 | int4 25 | text 23 → int4 타입25 → text 타입이런 식으로 PostgreSQL 내부 객체에 붙는 숫자 ID OID는 PostgreSQL의 시스템 컬럼..
2025.12.04 -
psql 프롬프트를 현재 계정@DB 이름 형태로 변경
홈 디렉토리에 .psqlrc 파일 생성(없으면 새로 생성): vi ~/.psqlrc \set PROMPT1 '%n@%/%R%# '
2025.09.30 -
날짜 시간 타입 interval
timestamp_column: 날짜 + 시간 + 시간대 (예: 2022-12-31 01:00 EST)interval_column: 시간 간격 표현 (예: '2 days', '1 month')
2025.07.27 -
고정소수점 | 부동소수점
🔹 1. 소수는 어떻게 저장되나?고정소수점 (Fixed-Point):numeric(전체자릿수, 소수자릿수) 또는 decimal(전체자릿수, 소수자릿수)로 표현소수 자릿수가 고정됨 (예: numeric(5,2) → 항상 소수점 아래 2자리)정확함, 반올림됨. 금융, 세금 계산 등에 적합단점: 공간 많이 차지함, 연산 느릴 수 있음부동소수점 (Floating-Point):real, double precision 타입소수 자릿수가 가변적 (예: real은 약 6자리, double precision은 약 15자리 정확도)빠르고 공간 효율적, 하지만 정확하지 않을 수 있음 (반올림, 오차 발생 가능) create table number_data_types(numeric_column numeric(20,5),r..
2025.07.27 -
PostgreSQL에서 IDENTITY를 사용한 자동 증가
PostgreSQL 10부터 SQL 표준에 맞는 자동 증가 컬럼 정의 방식인 IDENTITY를 지원한다. 기존의 SERIAL 보다 안전하게 자동 증가 정수를 사용할 수 있게 해 준다.■ 사용법 두 가지 GENERATED ALWAYS AS IDENTITY항상 자동 증가 값을 사용하고, 수동 입력을 차단안전, 기본 추천GENERATED BY DEFAULT AS IDENTITY자동 증가 값을 기본값으로 사용하지만, 수동 입력 가능유연하지만 충돌 위험 1. ALWAYS 방식으로 테이블 만들기 id 컬럼은 자동 증가되며 사용자가 값을 넣을 수 없다. 강제로 수동 삽입 (override 사용 시) 1. Default 방식으로 테이블 만들기 PostgreSQL은 수동 삽입된 값을 가지고..
2025.07.26 -
PostgreSQL에서 CHAR, VARCHAR, TEXT 타입
root@hostos1:~# sudo -u postgres psql -d analysispsql (17.5 (Ubuntu 17.5-1.pgdg22.04+1))Type "help" for help. analysis=# copy char_data_types to '/tmp/test.txt'with (format csv, header, delimiter '|');COPY 2 PostgreSQL 문자형 데이터 타입 CHAR(n)고정 길이, n 길이보다 짧으면 오른쪽에 공백 채움고정 길이, 공백 채움항상 일정 길이 데이터를 저장할 때, 공간 낭비 발생 가능VARCHAR(n)가변 길이, 최대 n자까지 저장가변 길이길이 제한 필요할 때 사용TEXT가변 길이, 길이 제한 없음가변 길이길이 제한 없는 긴 문자열 ..
2025.07.26