- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- poll scm
- jaekjoon java
- tomcat-users.xml
- javascript
- 백준 JAVA
- 1773번
- PostgreSQL
- 자바
- 백준 java jaekjoon JAVA
- 백준
- rocky linux
- SVN
- ora-01476
- DBeaver
- 메뉴얼
- linux
- Rocky Linux 9
- available plugins
- 사용법
- putty
- baekjoon
- java
- bekjoon
- subversion
- jenkins
- jsonb select
- 환경번수
- 제수가 0입니다
- 서버 접근
- boj
목록DB/PostgreSQL (6)
기록하는 개발자
디비를 재접속 하더라도 Table이 보이지 않을때 데이터베이스 우클릭 -> Connection view -> Advanced 선택 이미 체크되어 있더라도 다시 선택하면 새로고침됨
테이블에 text로 저장된 데이터의 키값을 기준으로 데이터를 가져와야하는 상황이었는데, 이전에 포스팅한 형식과 함께 to_jsonb를 사용해봤지만 데이터가 정상적으로 조회되지 않았다. jsonb변환된 데이터를 출력해보니 특수문자 구분을 위해 "\"가 자동으로 들어가고 있는 문제 발견 select test_data as "샘플데이터" ,(to_jsonb(test_data)-> 0 ->>'name') as "조회 실패" ,to_jsonb(test_data) as "역슬래시 확인" from test_table 찾아보니 아주 간단하게 해결할 수 있었다. select test_data as "샘플데이터" ,(to_jsonb(test_data)-> 0 ->>'name') as "조회 실패" ,to_jsonb(tes..
UPSERT란? UPDATE+INSERT를 합친것으로 기존 데이터가 존재하면 UPDATE해주고 기존 데이터가 존재하지 않으면 INSERT로 신규 등록해주는 기능 테스트 테이블 정보 -- DROP TABLE public.upsert_test_table; CREATE TABLE public.upsert_test_table ( sn int4 NOT NULL, -- 순번 user_name varchar NULL, -- 데이터 regist_dt timestamp NOT NULL, -- 등록일시 modify_dt timestamp NULL -- 수정일시 ); -- Column comments COMMENT ON COLUMN public.upsert_test_table.sn IS '순번'; COMMENT ON COL..
300만건이 넘는 데이터를 주기적으로 update 해야하는데 서버와 DB의 과도한 부하 발생을 대비하기 위해 사용 unnest 는 PostgreSQL의 내장 함수로 입력된 Array를 행집합으로 반환해준다. update test_table set data = data_table.data from (select unnest(array[1, 2, 3, 4]) as id, unnest(array[11, 12, 13, 14]) as data) as ex_data where test_table.id = ex_data.id; 하지만 id와 data가 별도의 array로 들어가기 때문에 자칫하면 순번이 밀릴수도 있어서 json 형태로 수정 +mybatis foreach 와 접목하기 위해 update test_tabl..
DBeaver을 통해서 PostgreSQL를 연결하면 기본적으로 작성한 Database만 표시됩니다. 데이터베이스 우클릭 후 Edit Connection을 선택합니다. PostgreSQL 탭 선택 후 Show all databases를 체크한 후 확인버튼을 클릭합니다. 개인적으로 정리한 내용을 간단하게 풀어 작성했습니다. 이해가 안가는 부분은 댓글 남겨주시면 설명해드리겠습니다.
구성 ex_table 테이블은 아래 사진처럼 구성되어 있습니다. 조회 방법 위와 같이 문자열 검색 방식을 사용하면 SQL Error [42883] (타입오류) 메세지가 출력됩니다. 위와 같이 검색했을때 원하는 검색 결과가 나옵니다. select * from public.ex_table where (jsonb_type->1->>'name' ILIKE 'kitseok'); --where([컬럼]->[n번째(0부터 시작)]->>[키] ILIKE [값]); --jsonb_type에서 2번째에 name이 kitseok인 데이터 개인적으로 정리한 내용을 간단하게 풀어 작성했습니다. 이해가 안가는 부분은 댓글 남겨주시면 설명해드리겠습니다.