본문 바로가기

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로 설정한다.. 더보기
Django Test - pytest, reuse, create db, migration 등 간단 소개 pytest -p no:warnings DJANGO TEST - PYTEST pytest를 사용하면 테스트 데이터베이스를 다시 만들지 않아도 되니까 테스트 시작 속도가 빠르죠. 그래서 많이들 사용하시는 것 같습니다. 저도 테스트 할 때 pytest로 돌리는데 일단 ini는 기본적으로 reuse 옵션을 주고 돌립니다. 이유는 이미 생성된 test db를 사용하고 싶기 때문이죠. pytest -s --reuse-db 하지만 처음 테스트를 돌리거나 모델(model)의 변경이 있었다면 기존 test db 구조와 테스트가 돌아가는 코드가 맞지 않겠죠. 예를 들어서 없는 테이블에 접근하려고 한다거나? 없는 컬럼을 사용해서 테스트 한다거나 등등 그럴 때는 --create-db 옵션을 주고 돌립니다. 다시 정리하면 p.. 더보기
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로 각 테이블마다 보는게 편하겠지만 !! 더보기
PostgreSQL, Pgadmin3 - Add Constraints 이번 포스팅에서는 PostgreSQL를 쉽게 활용할 수 있도록 지원하는 PgAdmin3에서 제약조건을 추가하는 방법에 대해서 간단하게 정리해둡니다 :) 1. 아래와 같은 SQL로 생성된 테이블이 있다고 가정하겠습니다. 아래 오타가 있네요 4는 왜 들어간건지..;; 내용상 큰 문제는 아니니깐 넘어갈께요. gid와 ttname 이라는 컬럼이 존재하고 gid는 pk입니다. ttname은 not null 빼고는 별다른 제약이 없구요. 이번 포스팅에서는 ttname에 unique 조건을 추가하는 것이 목표입니다. 2. 생성한 테이블을 마우스 오른쪽 클릭하면 아래와 같은 그림이 나옵니다. 여기서 Properties... 를 선택해줍니다. 3. Properties를 누르면 아래 와 같이 여러 탭이 있는 창이 하나 뜹.. 더보기
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.. 더보기
MariaDB Column Data Type Change 이번에는 MariaDB를 사용해야 하는데요. 많이 쓰이는 SQL 정리도 할 겸. 몇 가지 포스팅을 작성해두려구요 . 이미 많은 블로그에서 정리가 되어 있고, 공식 홈페이지나 SQL 문서를 보셔도 됩니다. MariaDB 홈페이지 : https://mariadb.org/ MariaDB Doc : https://mariadb.com/kb/en/ W3C School SQL : http://www.w3schools.com/sql/ 이번에는 컬럼 데이터 타입을 변경하는 내용입니다. 아래 그림 처럼 데이터베이스 testdb 라는 곳에 userinfo 라는 테이블이 존재한다고 가정하겠습니다. uid와 username 이라는 column을 가지고 있습니다. 여기서 username은 varchar(10)으로 설정되어 있는.. 더보기
MariaDB Create, Drop(delete) Database SQL 이번에는 MariaDB를 사용해야 하는데요. 많이 쓰이는 SQL 정리도 할 겸. 몇 가지 포스팅을 작성해두려구요 . 이미 많은 블로그에서 정리가 되어 있고, 공식 홈페이지나 SQL 문서를 보셔도 됩니다. MariaDB 홈페이지 : https://mariadb.org/ MariaDB Doc : https://mariadb.com/kb/en/ W3C School SQL : http://www.w3schools.com/sql/ 이번 포스팅에서는 데이터베이스 생성 및 삭제입니다. 데이터베이스 생성은 create database name; 이죠. 왼쪽 그림에서는 testdb 라는 데이터베이스를 생성해봤습니다. sql) create database testdb; 입니다. 데이터베이스 목록을 확인하기 위해서는 sql.. 더보기
PgAdmin3, Database Restore 1. Open PgAdmin3 and New Database 2. Database Mouse Right Click and Restore... CLI로 하는 방식도 있지만, 편하게 GUI로 Restore 하는 과정을 정리했습니다. Restore까지 완료하시면 Backup한 테이블들이 보이고, 그 안에 데이터도 존재할꺼에요. 더보기
MongoDB - db drop (데이터베이스 삭제) MongoDB에서 db를 drop하는 방법을 간단하게 작성해보겠습니다. 아마도 여러분의 MongoDB는 로컬이나, 외부에 서버에서 백그라운드로 돌고 있겠죠. ps -ax | grep mongo a123@hhh:~$ ps -ax | grep mongo 1071 ? Ssl 1:32 /usr/bin/mongod --config /etc/mongodb.conf 중요한 것은 아니구요 ㅎㅎㅎ db drop하는 방법이나 알아보죠. 1. mongo shell start terminal에 mongo라고 입력하시면 됩니다. a123@hhh:~$ mongoMongoDB shell version: 2.4.11connecting to: test> 2. show db list 어떤 db가 mongoDB에 존재하는지 알아보기 위해.. 더보기