본문 바로가기

PostgreSQL 한글 정렬되도록 DB 설정하기 with PgAdmin4 PostgreSQL 한글 정렬되도록 DB 설정하기 with PgAdmin4 PostgreSQL에서 그냥 DB를 생성하면 한글 정렬 잘 안되는거 아시죠?? DB생성하실 때 아래와 같은 방법으로 설정하시면 정렬 잘 됩니다. 문제는 collation이 C 로 되어 있는지 입니다. Create Database 하실 때 Collation을 C로 설정하시면 간단하게 문제 끝. 찾아보니 생성된 DB에는 적용이 안된다고 하니까 생성할 때 까먹지 말고 하셔야 합니다. 아 !! 그리고 추가로 Template를 template0로 설정하셔야 합니다. 다른 것으로 설정하니까 Collation C가 적용되지 않더라고요. 그래서 정리하면 1. Collation을 C로 설정한다. 2. Template를 template0로 설정한다.. 더보기
PostgreSQL Index print (using sql) PostgreSQL에서 테이블 인덱스를 출력하기 위한 SQL문은 아래와 같습니다. select * from pg_indexes where tablename = 'table_name'; 실제로 돌려보면 위 그림과 같이 나오고요. pgadmin3에서 직접 pg_indexes에 접근해서 볼 수도 있습니다.아래 그림 화살표를 따라가면 됩니다. Database - Catalogs - PostgreSQL (pg_catalog) - Views - pg_indexes 역시 SQL로 각 테이블마다 보는게 편하겠지만 !! 더보기
AWS RDS - Reserved Purchases AWS RDS도 예약 인스턴스를 사용하면 가격이 훨씬 저렴하죠. 자세한 요금은 아래 URL에서 확인할 수 있어요. https://aws.amazon.com/ko/rds/pricing/ 바로 아래 사진은 온디멘드 - 다중 AZ 배포 - PostgreSQL 인스턴스에 대한 요금이에요.m4.large의 경우 시간당 $0.504 군요. 아래는 온디맨드가 아니라 예약 인스턴스의 경우 요금이에요동일하게 다중 AZ 배포 - PostgreSQL 인스턴스고요. t2.micro는 1년 예약하면 $0.044 군요.물론 한번에 다 내거나 부분 선결제하면 가격은 더 떨어지고요. m4.large는 선수금 없이도 $0.316 으로 온디맨드에 비해서는 훨씬 저렴하네요. 아무튼 그래서 RDS 예약 인스턴스를 구매해봤어요 !! 예약을 .. 더보기
mac - postgresql & postgis install and setting 일단 분류가 좀 이상하지만 나중에 찾을 때 제가 여기를 확인할 것 같아서.. 1. PostgreSQL & PostGIS 설치는 brew로 간단하게 가능 - brew 설치는 아래 참고 linux에서 brew 설치 (http://brew.sh/linuxbrew/) apt-get install -y build-essential curl git m4 ruby texinfo libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev # ---> root 이외의 사용자에서 실행해야 합니다.ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)" 스크.. 더보기
psycopg2 error : image not found in mac mac에 개발환경을 다시 구축했습니다.구축하면서 발생했던 문제들 중 몇 가지만 정리해두려고 포스팅합니다 :) psycopg2 error : image not found 라고 나오는 에러에요.아래와 같이 해결했습니다 :) Case 1 : PostgreSQL Installation Method - Brew sudo ln -s /usr/local/Cellar/openssl/1.0.2h_1/lib/libssl.1.0.0.dylib /usr/local/lib sudo ln -s /usr/local/Cellar/openssl/1.0.2h_1/lib/libcrypto.1.0.0.dylib /usr/local/lib Case 2 : PostgreSQL Installation Method - dmgsudo ln -s /.. 더보기
AWS RDS (postgreSQL) connection RDS에서 PostgreSQL로 인스턴스를 아래 그림과 같이 만들었다고 했을 때 PgAdmin3로 접속하는 방법을 기록해둡니다 :) 아래 그림에 노란색으로 칠한 부분이 Endpoint 인데요. 여기로 접속하면 됩니다. DNS에 의해서 IP로 바뀌겠죠.하지만 저희는 신경쓰지 말고 그냥 저 주소로 접속하면 됩니다 :) 위에서 확인한 Endpoint를 PgAdmin3에 Host 부분에 입력하면 됩니다. Username과 password의 경우는 RDS 인스턴스를 만들 때 입력한 것을 넣어주세요. 짠!! 아래는 RDS에 접속한 화면입니다. 접속이 안된다구요??? 그럼 EC2 서비스로 이동하셔서 RDS 인스턴스를 만들 때 설정한 Security Group에 Inbound에 5432 포트를 열어주세요. 아래 노란색.. 더보기
PostgreSQL serial type PostgreSQL에서 제공되는 Serial Data Type에 대해 정리 !! 1. 특정 컬럼에 serial로 데이터타입을 지정하면 새로운 행이 추가될 때 자동으로 하나 씩 증가합니다. 그래서 id와 같은 컬럼에 사용하면 편리합니다. 직접 입력하지 않아도 자동으로 증가하니깐 데이터 추가할 때 신경쓰지 않아도 되죠 :) 아래 그림은 temp라는 테이블을 생성할 때 id 컬럼에 serial 데이터타입을 지정한 sql 예시입니다. CREATE TABLE serial_test ( id serial, name character varying(128) NOT NULL, CONSTRAINT serial_test_pkey PRIMARY KEY (id), CONSTRAINT serial_test_name_key UNI.. 더보기
PostgreSQL, Pgadmin3 - Add Constraints 이번 포스팅에서는 PostgreSQL를 쉽게 활용할 수 있도록 지원하는 PgAdmin3에서 제약조건을 추가하는 방법에 대해서 간단하게 정리해둡니다 :) 1. 아래와 같은 SQL로 생성된 테이블이 있다고 가정하겠습니다. 아래 오타가 있네요 4는 왜 들어간건지..;; 내용상 큰 문제는 아니니깐 넘어갈께요. gid와 ttname 이라는 컬럼이 존재하고 gid는 pk입니다. ttname은 not null 빼고는 별다른 제약이 없구요. 이번 포스팅에서는 ttname에 unique 조건을 추가하는 것이 목표입니다. 2. 생성한 테이블을 마우스 오른쪽 클릭하면 아래와 같은 그림이 나옵니다. 여기서 Properties... 를 선택해줍니다. 3. Properties를 누르면 아래 와 같이 여러 탭이 있는 창이 하나 뜹.. 더보기
psycopg2 pip 설치 에러 해결 정말 오랜만에 포스팅 !! 그동안 몇 가지 작업을 하면서 쌓인 내용을 정리해야 하는데 시간이 없네요.간단하게만 정리 :) psycopg2를 설치시에 pip를 활용하는 경우가 많은데 이게 에러가 날 때가 있어요. 에러 내용을 찍어두진 못했네요. ㅠㅠ 아래와 같은 방법으로 해결합니다. 먼저 PostgreSQL의 bin 폴더를 찾아서 PATH에 추가합니다. (export PATH=$PATH:/Library/PostgreSQL/9.5/bin) 다음 pip를 통해 psycopg2를 설치하면 됩니다. (pip install psycopg2) 더보기
GDAL : ogr2ogr : GeoJSON to PostgreSQL/PostGIS GeoJSON 파일을 PostgreSQL / PostGIS에 하나의 테이블로 입력할 때 사용할 수 있는 툴은 ogr2ogr 이라는 툴입니다. ogr2ogr의 기능은 꽤 다양한데요. 자세한 내용은 아래 웹 페이지를 참고하세요. ogr2ogr description web page : http://www.gdal.org/ogr2ogr.html 기능 중 하나가 GeoJSON과 같은 포맷을 공간정보 데이터베이스에 입력하는 것입니다. 예로 aaa.geojson 이라는 파일이 존재할 때 PostgreSQL / PostGIS에 입력하는 커맨드는 다음과 같습니다. ogr2ogr -s_srs EPSG:3857 -t_srs EPSG:3857 -f PostgreSQL PG:"dbname=mydb user=postgres" a.. 더보기
GDAL build with PostgreSQL GDAL을 빌드해서 설치할 때.. 향후 PostgreSQL과 연계되어 작동시키고 싶을 때는 아래와 같이 몇 가지 과정이 필요합니다. 1. PostgreSQL의 dev 패키지를 설치해줘야 합니다. PostgreSQL의 9.4 버전을 기준으로 아래와 같은 방식으로 패키지를 설치합니다. apt-get install -y postgresql-server-dev-9.4 2. gdal configure를 수행할 때 --with-pg 옵션을 통해 pg_config 파일의 위치를 잡아줍니다. ./configure --with-python --with-pg=/usr/bin/pg_config 위와 같이 PostgreSQL support yes가 나오면 성공! ./configure --with-python --with-pg.. 더보기
PostgreSQL psql command 가끔 PostgreSQL을 사용해서 작업을 해야 하는 경우가 있는데, psql를 실행해서 몇 가지 명령어만 치고 끝낸다. 가끔 사용하보니 아주 기초적인 것도 기억이 나지 않아서 매번 인터넷에 검색해서 사용하는 편인데.. 몇 가지만 간단하게 정리해두고 급할 때 찾아보려고 한다. 1. 데이터베이스 목록 출력 (List of databases) user=#\l (윈도우에서 작성하니깐 별로 좋지 못한데, 역슬래시에 소문자 엘(l)이다) 또는 user=#\list 도 가능하다. 2. 특정 데이터베이스 사용하기 예로 aaa 라는 데이터베이스가 존재할 때 user=#\c aaa (역슬래시에 소문자 c이다) 그럼 아래와 같이 변경 된다아. You are now connected to database "aaa" as u.. 더보기
Python, psycopg2 : INSERT INTO .... SQL PostgreSQL의 adapter 중에 python을 지원해주는 psycopg2 라는 녀석이 존재합니다. 예전 글들을 찾아보니 psycopg2에 관련 된 몇 개의 포스팅이 있긴한데요. insert into sql에 대해서는 제대로 정리해둔 것이 없어서.. 일단 다시 psycopg2에 대해서 기본적인 정보에 대해서 정리해보면 다음과 같습니다. 1. psycopg2 document : http://pythonhosted.org//psycopg2/ 2. License : LGPL 3. github : https://github.com/psycopg/psycopg2 4. Project Homepage : http://initd.org/psycopg/ 이번 포스팅에서는 psycopg2로 insert into s.. 더보기
PostGIS : Select Geospatial Data from Table 관련 포스팅 PostGIS : PostGIS Setting Script : http://ngee.tistory.com/629 PostGIS : Create Geospatial Table : http://ngee.tistory.com/631 PostGIS : Insert Geospatial Data into Table : http://ngee.tistory.com/632PostGIS : Select Geospatial Data from Table : http://ngee.tistory.com/633PostGIS : Delete Geometry Column in Geospatial Table : http://ngee.tistory.com/635 앞선 포스팅에서 PostGIS를 설정하고, 함수 AddGeome.. 더보기
PostGIS : Insert Geospatial Data into Table 관련 포스팅 PostGIS : PostGIS Setting Script : http://ngee.tistory.com/629 PostGIS : Create Geospatial Table : http://ngee.tistory.com/631 PostGIS : Insert Geospatial Data into Table : http://ngee.tistory.com/632 PostGIS : Select Geospatial Data from Table : http://ngee.tistory.com/633 PostGIS : Delete Geometry Column in Geospatial Table : http://ngee.tistory.com/635 앞선 포스팅에서 PostGIS를 설정하고, 함수 AddGeo.. 더보기
PostGIS : Create Geospatial Table 관련 포스팅 PostGIS : PostGIS Setting Script : http://ngee.tistory.com/629 PostGIS : Create Geospatial Table : http://ngee.tistory.com/631 PostGIS : Insert Geospatial Data into Table : http://ngee.tistory.com/632 PostGIS : Select Geospatial Data from Table : http://ngee.tistory.com/633 PostGIS : Delete Geometry Column in Geospatial Table : http://ngee.tistory.com/635 PostGIS를 활용하여 공간정보를 저장할 수 있는 데이터베.. 더보기