본문 바로가기

반응형

DB/PostgreSQL

(40)
[ PostgreSQL ] PostGIS 설치하고 사용하기 1. PostgreSQL에 PostGIS 설치 및 테스트하기공간 데이터를 다루기 위한 대표적인 확장 모듈인 PostGIS는 PostgreSQL에서 강력한 GIS 기능을 제공해 줍니다. 이 글에서는 RHEL 기반 환경에서 PostgreSQL 13과 함께 PostGIS를 설치하고, 간단한 공간 함수 테스트까지 진행해보겠습니다.2. PostGIS란?PostGIS(PostgreSQL + GIS) 는 공간 데이터를 저장하고 질의할 수 있도록 해주는 PostgreSQL의 확장 모듈입니다.대표적인 기능으로는 다음과 같습니다:점(Point), 선(LineString), 폴리곤(Polygon) 등 공간 타입 지원거리, 교차 여부, 포함 여부 등의 공간 연산GeoJSON, WKT 등 다양한 포맷 지원3. 설치 환경OS: ..
[ PostgreSQL ] 테이블에서 데이터만 가져오기 🌱 테이블에서 데이터만 백업해서 다시 복원시키기PostgreSQL에서 특정 테이블의 데이터만 추출하고 이를 다른 데이터베이스에 복원하는 과정은 pg_dump와 psql 명령어를 사용하여 처리할 수 있습니다. 여기서는 데이터만 추출하고 복원하는 단계별 방법을 설명드리겠습니다. 1. 데이터 추출테이블의 데이터만 추출하기 위해 pg_dump 명령어를 사용합니다. 이 명령은 테이블 구조가 아닌 데이터만을 추출하는 옵션을 제공합니다.pg_dump -h [호스트명] -p [포트] -U [사용자명] -d [데이터베이스명] -t [테이블명] --data-only -f [파일명].sql-h: 데이터베이스 서버의 호스트명입니다.-p: 데이터베이스 서버의 포트번호입니다.-U: 데이터베이스 사용자 이름입니다.-d: 데이터베..
[ PostgreSQL ] 테이블에 파티셔닝 기능 추가하기 🌱Partitioning이란?PostgreSQL에서 파티셔닝(partitioning)은 대용량 테이블을 효율적으로 관리하고 성능을 향상시키기 위한 기능입니다. 기본적으로 하나의 큰 테이블을 여러 개의 작은 테이블(파티션)으로 나누는 방식입니다.PostgreSQL에서는 PostgreSQL 10부터 native partitioning을 지원합니다. 주요 파티셔닝 방법은 다음과 같습니다:  1. 파티셔닝 방법 종류Range Partitioning (범위 기반)예: 날짜, ID 범위 등으로 나눔List Partitioning (리스트 기반)예: 지역 코드, 카테고리 등 특정 값 기반으로 나눔Hash Partitioning (해시 기반)균등 분산이 필요할 때 사용Composite Partitioning (복합:..
[ PostgreSQL ] column이 날짜 type 일 경우 날짜만 비교하기 PostgreSQL에서 date 타입 컬럼이 있다면, 해당 컬럼은 이미 날짜만 저장되며 시간 정보는 포함되지 않습니다. 하지만 만약 timestamp 타입 컬럼을 사용 중인데, 날짜만 비교하고 싶으신 거라면 아래처럼 처리하실 수 있습니다. 1. 컬럼이 date 타입일 경우단순 비교하면 됩니다:SELECT *FROM your_tableWHERE your_date_column = '2025-03-27'; 2. 컬럼이 timestamp일 경우 날짜만 비교하고 싶다면::date로 캐스팅하거나 DATE() 함수를 사용할 수 있습니다:-- 방법 1: 캐스팅SELECT *FROM your_tableWHERE your_timestamp_column::date = '2025-03-27';-- 방법 2: DATE() 함수..
[ PostgreSQL ] 테이블 데이터 CSV파일로 저장하기 PostgreSQL에서 테이블 데이터를 CSV 파일로 저장하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 COPY 명령어를 사용하는 것입니다.PostgreSQL 서버에서 COPY 명령어를 사용해 테이블 데이터를 CSV 파일로 저장하려면 몇 가지 전제 조건과 절차가 필요합니다. 아래에 단계별로 자세히 설명드리겠습니다.   1. COPY 명령어 (PostgreSQL 서버에서 직접 파일로 저장)SQL문이 서버로 전달되어 서버에서 직접 server 폴더에 csv 파일을 저장합니다.COPY table_name TO '/경로/파일이름.csv' WITH (FORMAT csv, HEADER);이 명령어는 PostgreSQL 서버가 직접 파일을 생성하는 방식입니다.즉, 파일이 저장되는 위치는 PostgreSQL..
[ PostgreSQL ] SCHEMA - 권한 확인하고 설정 및 삭제하기 1. 스키마 권한 확인 방법PostgreSQL에서 특정 스키마의 권한을 확인하려면 pg_namespace 시스템 카탈로그 테이블을 조회할 수 있습니다.SELECT nspname AS schema_name, nspacl AS access_privilegesFROM pg_namespace;이 쿼리는 다음 정보를 반환합니다:schema_name: 데이터베이스 내의 스키마 이름access_privileges: 해당 스키마에 대한 권한 목록access_privileges 컬럼은 {username=privileges} 형식으로 표시되며, 특정 사용자의 권한을 나타냅니다. 예를 들어: schema_name | access_privileges-------------+-----------------------..
[ PostgreSQL ] CREATE - 스키마 생성하기 1. 스키마 생성하기PostgreSQL에서 스키마를 생성하는 방법은 간단합니다. SQL 명령어 CREATE SCHEMA를 사용하여 새로운 스키마를 생성할 수 있습니다. 기본적인 형식은 다음과 같습니다:CREATE SCHEMA schema_name;여기서 schema_name은 생성하려는 스키마의 이름을 나타냅니다.또한, 스키마를 생성하면서 동시에 해당 스키마에 특정 사용자를 소유자로 지정하고 싶다면 다음과 같이 명령을 확장할 수 있습니다:CREATE SCHEMA schema_name AUTHORIZATION user_name;이 명령은 user_name이라는 사용자에게 schema_name 스키마의 소유권을 부여합니다.사용 예제:기본 스키마 생성CREATE SCHEMA my_schema;사용자 지정 스키..
[ PostgreSQL ] Schema를 사용하는 이유 PostgreSQL에서 스키마를 사용하는 이유는 여러 가지가 있습니다. 스키마는 데이터베이스 내에서 데이터를 조직화하고 관리하는 데 도움을 주는 중요한 역할을 합니다. 여기 몇 가지 주요 이유를 소개하겠습니다:네임스페이스 제공: 스키마는 데이터베이스 내에서 별도의 네임스페이스를 제공하여, 같은 이름의 테이블이나 다른 데이터베이스 오브젝트가 서로 다른 스키마에 존재할 수 있게 해줍니다. 이는 특히 다수의 사용자나 애플리케이션이 하나의 데이터베이스를 공유할 때 유용합니다.보안 강화: 스키마를 사용하면 데이터베이스의 보안을 강화할 수 있습니다. 데이터베이스 관리자는 스키마 수준에서 접근 권한을 설정하여 특정 사용자가 스키마에 있는 데이터에만 접근하도록 제한할 수 있습니다.관리 용이성: 큰 데이터베이스에서는 스..

반응형