Postgres) rownum 사용과 Subquery를 통한 update

rownum Postgres 에서도 Oracle의 rownum을 사용 할 수 있을까요? 가능합니다. row_number()를 이용하면 됩니다. 그럼 아래 처럼 그냥 호출 하면 rownum을 사용 할 수 있을 것 같지만.. select row_number(), i.* from item i; 윈도우 함수 호출에는 OVER 절이 필요함 이라는 에러가 나옵니다. 딱히 조건을 걸 생각이 없었지만 그래도 over절은 넣어줘야 하나 봅니다. 그럼 이렇게 작성 한다면 rownum을 사용 할 수 있습니다. as로 alias 를 주는것도 좋겠네요. select row_number() over(), i.* from item i; Subquery를 통한 update 이제 rownum을 받아 왔으니, 서브쿼리에서 rownum을..

Data/PostgreSQL 2021.11.19
PostgreSQL) 모든 테이블에서 특정 값 찾기

모든 테이블 찾기 특정 값을 검색 할 때, 모든 테이블에서 찾아봐야 할 경우가 종종 있습니다. 이번에 특정 데이터의 완전 삭제 기능을 구현하고 있었는데 모든 테이블을 FK로 연결한 건 아니라서 관련된 데이터들이 모두 삭제 되었는지가 확실하지 않았습니다. FK 와 cascade 를 활용해서 싹 다 지워버리면 편하기야 하겠지만 의도치 않은 사이드이펙트가 나올 수도 있습니다. 특정 데이터를 삭제 할 경우 관련된 데이터를 무작정 제거하는게 아닌 다른 비즈니스 로직을 수행해야 하는 경우도 있을 수 있고, 실제로 데이터를 지우지 않고 상태만 변경해야 할 경우도 있습니다. 클라이언트의 요구사항은 다양하기 때문에 한가지 방법만을 고집 할 수는 없습니다. 비관계형 데이터베이스까지 커버해야 할 경우마저 있네요. Guava..

Data/PostgreSQL 2021.10.08
docker-compose 이용해 ELK Stack 구축하기

docker나 docker-compose가 아직 준비되어 있지 않다면 아래 글을 참고해서 먼저 설치 해 주세요. Ubuntu 20.04 LTS ) Docker 설치하기 Windows) Docker 설치하기 MacOS ) m1 맥북 docker 설치하기 저장소 클론 아래의 저장소에서 docker-compose 설정을 클론하면 아주 쉽게 docker-compose 를 이용한 ELK STACK을 구축 할 수 있습니다. git clone https://github.com/deviantony/docker-elk.git 그러고 해당 경로에 가서 docker-compose up -d 를 하면 실행 할 수 있습니다. docker-compose up -d 필요한 이미지를 다운 받고, 컨테이너가 모두 구동 됩니다. 키바나..

Data/Search Engine 2021.09.20
Docker로 Oracle Database 11g 띄우기

주의 본 글은 맥북 M1 / M2에 해당하는 글이 아닙니다. x86/64 윈도우 및 리눅스에만 해당됩니다. 애플 실리콘은 arm64 아키텍처를 사용하기 때문에 다른 방법이 필요합니다. 오라클 사용이 필요한 맥북 사용자분들은 다음의 링크를 참고 해 주세요. [MacOS] M1 맥북 도커로 ORACLE DB 실행하기 서론 예전에 학원에 다닐 때 중간, 최종 프로젝트로 만들어 두었던 프로젝트들을 원래 windows 노트북에서 서버처럼 띄워 두었었는데 툭하면 윈도우 업데이트 등으로 종종 컴퓨터가 멋대로 재시작되는 경험을 하고, 외부에서 접속할때도 ssh 접속이 안되기 때문에 Windows Remote Desktop 등을 사용 하다가 이번에 집에 있는 노트북의 윈도우를 밀어 버리고 ubuntu를 설치했습니다. 다..

Data/Oracle 2021.09.20
Oracle Database가 갑자기 안될 때 TNS-12541, TNS-12560, TNS-00511 에러 해결

방금 까지만 해도 잘 되던 Oracle Dabase가 재부팅 이후에 갑자기 안됩니다. 딱히 건든 게 없는 것 같은데 정말 멘붕이 옵니다. 하나씩 이유를 찾아 해결 해 보도록 합시다. ​ 일단 리스너의 상태를 확인 해 봅니다. lsnrctl status​ 에러가 세개나 나옵니다. ​ TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener 64-bit Windows Error: 2: No such file or directory​ 그런데 Connecting to 쪽이 뭔가 의심이 갑니다. HOST=DESKTOP-어쩌구 라고 써있는데, 저는 방금 그걸 알기 쉽게 변경했었거든요. 이게 문제였다는게 어느 정도 감..

Data/Oracle 2021.09.06