개발공작소
728x90
[PostGIS] pgsql2shp 명령어를 이용하여 공간정보 테이블을 SHP파일로 받아보자
데이터베이스/Postgresql 2022. 12. 29. 19:30

PostGIS에서 제공하는 pgsql2shp 명령어를 이용하면 공간정보를 포함하는 테이블을 SHP형태로 내려받을 수 있다. pgsql2shp 기본명령어 pgsql2shp -f [경로를 포함한 파일명.shp] -g [geometry 컬럼명] -h [host] -u [user명] -p [port] -P [password] [database] [스키마를 포함하는 테이블명] pgsql2shp 샘플 명령어 pgsql2shp -f my_shp.shp -g geom -h 192.168.50.100 -p 7932 -u postgres -P postgres myDB geo.geoTable; 위는 샘플 명령어이다. 명령어를 각 풀어서 보면 아래와 같다. -f my_shp.shp 👉️ 기본경로에 my_shp이라는 파일명으로..

[Postgresql] 프로시저(Procedure) : 테이블 생성 프로시저를 만들어보자.
데이터베이스/Postgresql 2022. 12. 13. 12:52

이번에 프로젝트를 하면서 테이블을 생성하는 프로시저를 만들 일이 있어서 한번 작성해본다. Postgresql : 테이블 생성 및 삭제 프로시저 작성 샘플코드 CREATE OR REPLACE PROCEDURE 스키마.프로시저명() LANGUAGE plpgsql AS $procedure$ begin execute 'DROP TABLE IF EXISTS 스키마.테이블명 CASCADE'; execute 'CREATE TABLE IF NOT EXISTE 스키마.테이블명 ( my_id varchar(20) NOT NULL, my_pwd numeric(20) NOT NULL, my_name varchar(20) NOT NULL )'; END; $procedure$ ; 위는 진짜 간단하게 테이블을 CREATE하고 DR..

[Postgresql] quote_ident / quote_literal 함수 사용방법 : Postgresql에서 쌍따옴표/홑따옴표 사용하는 방법
데이터베이스/Postgresql 2022. 11. 18. 21:35

Postgresql를 사용하다보면 테이블명이나 컬럼명, Value값에 쌍따옴표나 홑따옴표를 넣어줘야 할 일이 있다 그럴때 사용할 수 있는 함수가 quote_ident와 quote_literal이다. 각 사용법에 대해 알아보자. quote_ident함수를 이용한 쌍따옴표 표기방법 사용방법 quote_ident(value); 'CREATE TABLE my_schema.' || quote_ident(my_table); 결과 "value" CREATE TABLE my_schema."my_table" 이렇게 쌍따옴표로 감싸준다.. 그럼 굳이 이 함수를 쓰는 이유가 있을까? 있다. 하드코딩이라면 문제 없지만 프로시저/함수 생성시에 테이블명이나 컬럼명을 파라메터로 받아온다고 하면, 또 대문자가 포함되어 있다고 하면 ..

[Postgresql] Postgres 유저 생성 및 데이터베이스 접근권한 부여
데이터베이스/Postgresql 2022. 11. 18. 11:46

Postgresql에서 유저생성 및 데이터베이스 접근권한 부여 명령어 정리 사용자 생성 쿼리문 기본문법 CREATE USER [유저명] WITH PASSWORD [패스워드]; 샘플 CREATE USER blue WITH PASSWORD 'blue'; 데이터베이스 접근권한 부여 쿼리문 기본문법 GRANT ALL PRIVILEGES ON DATABASE [데이터베이스명] TO [권한을 줄 유저명]; -- GRANT 옵션 : { CREATE | CONNECT | TEMPORARY | TEMP } [, ...] | ALL [ PRIVILEGES ] } 샘플 -- postgres DB에 red라는 사용자가 접근할 수 있도록 권한부여 GRANT ALL PRIVILEGES ON DATABASE postgres TO ..

article thumbnail
[Postgresql] Postgres에서 이벤트 트리거(Event Trigger) 목록 조회하는 방법
데이터베이스/Postgresql 2022. 11. 16. 11:45

이번에 이벤트 트리거를 만들려고 했는데, 이미 존재하는 이벤트 트리거라면서 Create가 되지 않는다. 그래서 해당 이벤트 트리거를 삭제 해야 되는데 어디에 저장되는지 모르는 상황.. 그렇게 찾아보니 자신이 Create한 이벤트 트리거는 pg_event_trigger이라는 테이블에 저장된다는 것을 알았다. 그러니 해당 테이블을 조회만 하면 된다. Postgresql : 이벤트 트리거 목록 조회하는 방법 쿼리문 SELECT * FROM pg_event_trigger; 결과 evtname 컬럼에 있는 auto_grant_trigger이라는 녀석이 내가 예전에 생성해놓고 까먹은 이벤트 트리거이다. 그래서 이미 auto_grant_trigger라는 트리거가 있는데 또 auto_grant_trigger라는 트리거..

article thumbnail
[Postgres] 계층형 쿼리에 대한 정리 ( RECURSIVE )

오늘은 카테고리와 같은 기능을 구현할 때 쓰이는 계층형 쿼리에 대해 알아보자. Postgresql에서는 데이터의 트리구조(계층)를 표현하기 위해서 RECURSIVE 키워드를 통해 재귀적인 쿼리를 사용한다고 한다. 여기서 재귀란 어떠한 것을 정의할 때 자기자신을 참조한다는 의미이다. 중요한 건 아니니 바로 계층형 쿼리를 통해 트리구조를 만들어보자. 샘플 테이블 생성 CREATE TABLE RECURSIVE_BOOK( BOOK_ID INTEGER NOT NULL, PARENT_ID INTEGER, BOOK_NAME CHARACTER VARYING(20) NOT NULL, BOOK_QTY INTEGER, CONSTRAINT BOOK_KEY PRIMARY KEY (BOOK_ID)); 샘플 데이터 적재 INSER..

728x90