PostgreSQL을 사용하여 간단하게 Java + Spring Boots + Maven + myBatis Framework을 갖고 우편번호 검색 Web Page 및 RESTFul-API를 제공하는 Project를 생성하는 과정을 포스팅하려고 준비하는데 가장 먼저 Data를 준비하기 위하여 한국 우편번호 Data를 Sample Data로 했다. 그 과정에서 대표적으로 많이 사용되는 PostgreSQL 과 MariaDB를 같은 장비에 Default 설정으로 설치하고 같은 내용의 Data를 저장한 후 조회 했을 때 성능이 어떻게 차이 나는지 궁금해서 비교해보고자 한다. 우편번호 고시파일은 우체국 사이트에 가면 최신으로 다운받을 수 있다. https://www.epost.go.kr/search/zip..
mysql -u root -p#root 비밀번호 입력-- 사용자 생성CREATE USER 'iamwhatiam'@'%' IDENTIFIED BY 'abc1234';-- 관리자 권한 부여GRANT ALL PRIVILEGES ON *.* TO 'iamwhatiam'@'%' WITH GRANT OPTION;-- 권한 테이블 다시 로드FLUSH PRIVILEGES; Synology NAS VMM에 Rocky Linux 8을 설치하고 Oracle19c, PostgreSQL 을 설치해 봤다. (현재 시점 Oracle19c 설치 과정은 아직 포스팅 하지 않았다.) MS-SQL은 Windows가 없어서 설치 못하더라도 범용적으로 사용되는 MariaDB까지는 설치해 놓고 사용해 보려고 한다. 내가 MySQ..
개인적으로 대규모 Project를 주로 하다보니 Oracle, MS-SQL 이외에 흔히 사용되는 DB는 MariaDB(MySQL) 정도였다. 최근 PostgreSQL의 사용이 증가하고 있고 주변에서 PostgreSQL에 대한 니즈가 생기는 것을 듣게 되어 최근 RDBMS의 Ranking을 확인해 보니 PostgreSQL가 무려 4위를 차지하고 있었다. PostgreSQL는 개인적으로 Greenplum(현재 45위... 이제는 아는 사람도 없을 DB)을 접하게 되었을 때 접한 DB 였는데 그때가 벌써 2010년쯤이니 10년도 더 된 이야기다. 어쨌든 다시 PostgreSQL을 사용해봐야 할지도 몰라서 개발용으로 Rocky Linux에 PostgreSQL을 설치해보려고 한다. PostgreS..
내 블로그의 인입 통계를 보면 항상 1위에 올라 있는 글이 아주 오래전에 포스팅 했던 LONG Type에 대한 Like 검색이다. 오랜만에 Oracle DB를 사용하는 Project에서 일을 하게 되서 생각 난 김에 해당 글에 대한 보완 내용을 메모해 둔다. Oracle은 현재 LONG Data Type을 권장하지 않는다. 하물며 12C 이후에는 사용이 제한되기까지 했다. LONG 대신에 CLOB을 권장하고 있는데... 어쨌든 기존 시스템이 LONG으로 구축이 되어 있다면 방법이 없지 않은가... 추후 새로 만드는 TABLE에서 Data Type을 LONG 대신 CLOB으로 하면 되겠지만.. 이미 있는 거에서는 써먹어야 하니.. Oracle 9i 이후 버전을 사용하고 있다면 TO_LOB..
SqlDevloper에서 XMLTYPE 값을 조회하면 실제 값이 보이는게 아니고 (XMLTYPE) 이라고 출력된다.뭐... 현재 Version (18.2.0.183) 에서는 그냥 그렇게 보이는 듯...도구 >> 환경설정 >> 데이터베이스 >> 고급 >>> "격자에 XML 값 표시" 를 체크해도 동일하다.언제나 그렇듯이... 이가 없으면 잇몸으로~!!! WITH TMP AS ( SELECT XMLTYPE ( '' ) AS TMP_COL FROM DUAL )SELECT TMP.TMP_COL , XMLTYPE.GETCLOBVAL ( TMP.TMP_COL ) FROM TMP ;
ORACLE에서 테이블 정보를 조회하기 위한 QUERY를 짜다가 COLUMN DEFAULT 값의 COLUMN이 LONG TYPE이라서 조건절에 LIKE를 쓸 수 없는 상황이 발생했다. ORACLE에서는 LONG TYPE을 TO_CAHR 함수로 변경이 안된다. 그럼 우짜노~!!! 이가 없으면 잇몸으로~!!! DEFAULT 값에 SYSDATE가 있는 TABLE을 예로 들어서 설명한 것이다. 참고하시길~ SELECT TMP.OWNER , TMP.TABLE_NAME , TMP.COLUMN_NAME , TMP.DATA_TYPE , TMP.DATA_LENGTH , TMP.DATA_PRECISION , TMP.DATA_SCALE , TMP.D..