Postgresql 에 데이터를 업데이트하는 과정에서는 insert 를 할 때 on conflict 절에서 고유 키를 사용하여 충돌을 감지하고 충돌이 나는 경우에는 고유 키를 가진 컬럼의 값을 업데이트하고 그렇지 않은 경우 새로운 행을 추가해주게 된다.INSERT INTO {table_name} ({table_columns}) SELECT {update_columns} FROM {update_table}ON CONFLICT ({unique_key}) DO UPDATE SET {update_columns}; 위의 쿼리와 같이 ON CONFLICT 를 통해 고유키를 통해 업데이트의 여부를 결정하게 된다. 위의 쿼리를 통해 데이터를 업데이트 하려고 했는데 고유키 값은 분명 중복이 되지 않는 것을 확인했지만 업..
기본적으로 배열에서 원하는 값을 찾기 위해서 주로 =, >, =, Postgresql 에서는 배열의 값을 찾는 여러 배열 연산자가 있어 정리해보려고 한다. 내가 배열 연산자를 찾게된 이유는 Postgresql 에서 tstzrange 라는 컬럼 타입이 있는데 해당 컬럼은 2개의 timestamptz 값을 가지는 배열의 형태로 되어있다. 따라서 tstzrange 타입의 컬럼 값을 통해서 값을 찾기 위해서는 배열 연산자를 통해 원하는 값을 찾아야 하는데 찾아보니 종류가 생각보다 많아서 정리해보려고 한다. Equal Operator (=)배열이 같은지 비교하는 연산자select array[1, 2] = array[1, 2] as equal_operator, -- True array[1, 2] = array[2..
내가 원하는 일을 한다는 건 무엇을 의미하는 걸까 나는 그저 내가 원하는 일을 하고 싶어서 열심히 준비하고 찾아다녔던 것 같다. 그렇지만 현실은 내가 원하는 대로 흘러가지 않았다. 내가 원하는 것과는 반대로 흘러갔고 반대로 흘러가고 싶지 않아 더 발버둥 친 것 같다. 그러다 결국 지치더라. 도대체 내가 원하는 일을 한다는 건 뭘까.. 왜 항상 내가 하고자 하는 것과는 반대로 하게 되고 가로막히고 불안에 떨어야하며 결국에는 체념에 이르러 받아들이게 된다. 나만 그런 게 아니라 나와 같은 일을 겪는 사람들도 분명히 어딘가에 있을 것이고 알 수는 없지만 정말 힘들게 버티며 나아가고 있을텐데... 분명 나만 그런게 아닌데... 방향이 나의 의지와는 달라졌을 때 다시 방향을 잡기 위해서 하는 행동을 나는 최선이라..
vscode 를 사용하다보면 폴더를 생성하고 그 폴더 하위에 하나의 폴더를 생성하게 되면 다음과 같이 폴더가 겹치는 경우가 발생한다. 이렇게 겹치는 이유는 vscode 에서 기본 값으로 compact folders 설정을 활성화 해두었기 때문이다. 그래서 이 설정을 비활성화 해주면 된다. vscode 에 접속해서 MacOS 기준으로 [Command] + [,] 를 통해 Settings 를 실행한다.그리고 compact 를 검색하면 다음과 같이 Compact Folders 옵션을 확인할 수 있다. 가장 위에 있는 Explorer: Compact Folders 의 체크를 해제해주면 된다. 그럼 다음과 같이 겹쳐져있던 폴더가 풀어서 보여주는 것을 확인할 수 있다.
맥북에서 아나콘다를 설치하는 방법을 정리해두려고 한다. homebrew 설치나는 homebrew 를 통해서 anaconda 를 설치하려고 한다.homebrew 를 설치하는 방법은 아래의 사이트를 참고하면 된다. HomebrewThe Missing Package Manager for macOS (or Linux).brew.sh anaconda 설치homebrew 를 설치했다면 anaconda 를 설치한다.brew install --cask anaconda 설치가 완료되었지만 conda 명령어를 찾을 수 없다고 나온다. zsh 환경 변수 초기화그럼 아래의 명령어를 통해 맥북에서는 zsh 이기 때문에 zsh 의 환경변수를 초기화해준다.$ /opt/homebrew/anaconda3/bin/conda init z..
docker 기반의 카프카 실습 환경을 만들어보려고 한다.개인적으로 실습할 경우 클라우스 컴퓨팅 서비스를 사용하지 않는 이상 개인 PC 에서 컴퓨터 리소스가 매우 부족하기 때문에 Docker 를 사용해서 카프카를 간단하게 사용할 수 있는 실습 환경을 만들어보려고 한다. 준비사항먼저 준비사항으로는 Docker 가 설치되어있어야 한다. 그리고 docker compose 2 버전 이상이 설치가 되어있어야 한다.나는 다음과 같은 버전으로 docker 와 docker compose 가 설치되어있다.# docker version$ docker -vDocker version 27.4.0, build bde2b89# docker compose version$ docker compose versionDocker Comp..
해당 내용은 '실전 카프카 개발부터 운영까지' 책을 통해 공부하고 정리한 내용입니다. 카프카는 데이터를 받아서 전달하는 데이터 버스 역할을 한다.카프카에 데이터(메시지) 를 만들어서 주는 쪽을 프로듀서(Producer) 라고 부르며, 카프카에서 데이터(메시지)를 빼내서 소비하는 쪽을 컨슈머(Consumer) 라고 부른다. 그리고 주키퍼는 카프카의 정상 동작을 보장하기 위해 메타데이터를 관리하는 코디네이터라고 할 수 있다. 프로듀서 (Producer)데이터(메시지) 를 만들어서 주는 쪽컨슈머 (Consumer)데이터(메시지) 를 받아서 소비하는 쪽쥬키퍼 (Zookeeper)정상동작을 보장하기 위해 메타데이터를 관리하는 코디네이터 프로듀서는 메시지를 카프카로 전송하는 역할을 하고 메시지를 어떻게 보내느냐에..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.