
Mac에서 PostgreSQL 서버 설치부터 삭제까지 (brew 사용)이번 포스팅에서는 brew를 이용해 PostgreSQL 서버를 설치하고, 계정과 데이터베이스를 생성한 뒤, 서버를 삭제하는 방법까지 정리해 보려고 한다.PostgreSQL을 설치하고 다루는 기초 과정이니, 처음 접하는 사람들도 쉽게 따라할 수 있을 것이다. 1. PostgreSQL 설치하기설치 가능한 PostgreSQL 버전 확인먼저 brew로 설치 가능한 postgresql 패키지를 검색해 보자.brew search postgresql PostgreSQL 설치이제 설치를 진행하자.명령어 한 줄이면 끝이다.brew install postgresql별도 버전을 지정하지 않으면, PostgreSQL 14 버전이 설치된다. 설치된 디렉토..
입력 받은 날짜가 주말인지 평일인지 어떻게 알 수 있을까?입력 받은 날짜가 포함된 주의 월요일 날짜와 일요일 날짜는 어떻게 구 할 수 있을까? 입력 받은 날짜가 주말 확인하기SELECT CASE WHEN TO_CHAR(TO_DATE(I_STA_YMD, 'YYYYMMDD'), 'D') IN ('1','7') THEN 'Y' WHEN EXISTS(SELECT 1 FROM tbl T1 WHERE T1.C_CD = :I_C_CD AND T1.HOLI_CD = :I_STA_YMD) THEN 'Y' ELSE 'N' END FROM DUAL; 입력 받은 날짜가 들어간 주의 월요일 일요일 날짜 구하기SELECT :YMD , TO_CHAR(TRUNC(TO_DATE(:YMD..
오늘 조금 특별한 상황이 발생 하였다.어떤 날짜를 지정하면, 지정한 날짜가 포함된 주의 월요일 날짜와 일요일 날짜를 확인해야 하는 일이 생겼다.다행히 오라클에서 쉬운 방식으로 해당 날짜를 구할 수 있어서 방법을 정리해 본다. SELECT :YMD , TO_CHAR(TRUNC(TO_DATE(:YMD, 'YYYYMMDD'), 'IW'), 'YYYYMMDD') AS MONDAY_YMD , TO_CHAR(TRUNC(TO_DATE(:YMD, 'YYYYMMDD'), 'IW') +6, 'YYYYMMDD') AS MONDAY_YMD FROM DUAL;:YMD는 입력 받은 특정 날짜이다.이 날짜에가 들어 있는 주의 월요일과 일요일 날짜를 구하려고 하는 것이다.IW는 ISO Week의 약자로 월요일의 날짜..

드디어 프로젝트 막바지이다.시스템 오픈한지 약 한달이 지났고, 거의 대부분의 버그도 처리 하였다.그래서 이제 운영DB의 데이터를 개발DB로 옮겨 현재 운영에서 발생하는 문제에 대해 대응할 방법을 찾을때이다.약 시스템 오픈 후 약 한 달 동안 개발과 운영이 따로 놀다 보니 운영에서 발견되는 문제점이 개발에서 재현되지 않는 경우들이 종종 발생하기 시작했다. 주기적으로 운영 데이터를 개발서버에 반영해 주면 좋겠지만 현실은 그렇지 못하다.하지만 오늘 어렵게 그 기회를 잡았다.그래서 이번에 운영 개발 서버간 DB를 비교해 보는 방법을 간단히 정리해본다. 사용한 툴은 Toad 12버전이다.상당히 오래된 버전이지만... 나름 쓸만하다... 1. 상단 메뉴에서 'Database -> Compare -> Schemas..
쿼리 결과가 여러 줄인 데이터가 있다. 그런데 그중 한 컬럼의 내용반 다르고, 다른 컬럼의 결과는 똑같다. 그래서 내용이 다른 그 한 컬럼의 내용을 한 번에 받고 싶다. 이럴때 사용 할 수 있는 방법이 - oracle : LISTAGG(컬럼명 구분자) - mysql : GROUP_CONCAT(컬럼명 SEPARATOR 구분자) 함수를 이용하는 것이다. 두 함수 모두 지정 가능한 문자, 기호 등을 구분자로 하여 여려 행의 내용을 한 컬럼에 표기해 준다. oracle SELECT USER_ID, LISTAGG(USER_TASK, ',') WITHIN GROUP (ORDER BY USER_ID) AS USER_TASK FROM USER_TASK WHERE .... GROUP BY USER_ID 묶어야할 대상은 ..
쿼리를 작성할때 과도한 서브 쿼리는 메인 쿼리의 더욱 복작하게 만든다. 이럴때 WITH AS 구문을 사용하면 그나마 복잡한 부분의 쿼리를 분리해 낼 수 있을 뿐만 아니라 반복적으로 쓰이는 서브 쿼리라면 성능의 향상을 덤으로 얻을 수 있다. 방법은 간단하다. 메인 쿼리 위에 WITH AS 구문을 사용해 서브 쿼리를 옮겨 놓는 것이다. WITH 이름 AS ( SELECT ... FROM ... WHERE ... ) SELECT .... FROM 이름 WHERE .... 서브쿼리가 여러개라 하더라도 걱정할 필요 없다. 각 서브쿼리를 , 로 구분하여 추가해 주면 된다. WITH 이름1 AS ( SELECT 문 ), 이름2 AS ( SELECT 문 ) SELECT ... FROM 이름1 LEFT OUTER JOI..
SQLCODE : 104 SQLSTATE : 42601 문법이 올바르지 않을 경우 발생 SQLCODE : 204 SQLSTATE: 42704 테이블이 없을때 SQLCODE : 206 SQLSTATE : 42703 컬럼이 존재하지 않을때 SQLCODE : 302 SQLSTATE : 22001 컬럼 사이즈가 문자열의 길이 보다 작을때... SELECT 에서 발생하는 경우가 있다. 특히 ORDER BY 를 조회 할때 페이지 사이즈가 작기 때문에 발생하는 경우가 있는데 (ORDER BY를 생략해 주면 에러가 안난다.) 이럴때 페이즈 사이즈를 늘려 주거나, 읽어 오는 데이터의 길이를 제한해야 한다. SQLCODE : 405 SQLSTATE : 42820 숫자 상수가 너무 길거나, 그 값이 해당 데이터 유형의 범위..
- Total
- Today
- Yesterday
- spring board
- 게시판
- 안드로이드 스튜디오
- 회고
- Tip of the day
- IntelliJ
- 오블완
- Did you know
- java
- MAC OS STS Spring
- 스프링
- openjdk
- 아침 글쓰기 챌린지
- spring
- Raspberry pi3
- 도서
- 티스토리챌린지
- php mvc
- Javascript
- 아침글쓰기
- bootstrap
- Linux
- android studio
- 개발팁
- Spring 게시판
- 한빛미디어
- 아침 글쓰기
- 라즈베리파이3
- 글쓰기
- 리눅스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |