본문 바로가기
반응형

Engineering/DB8

Postgresql : jsonb 컬럼에서 json array select 하기 아래와 같이 정의된 tbl_table 이라는 테이블이 있는 경우, id (integer) name (character varying (20)) lists (jsonb) 1 aaa { "onedepth_1" : { "twodepth_1" : { "threedepth_1" : "가", "threedepth_2" : "나", "threedepth_3" : "다" } }, "onedepth_2" : { ... (생략) ... } } 2 bbb { "onedepth_1" : { "twodepth_1" : { "threedepth_1" : "라", "threedepth_2" : "마", "threedepth_3" : "바" } }, "onedepth_2" : { ... (생략) ... } } 위 테이블에서 각 na.. 2021. 11. 15.
postgresql : 동일한 key를 갖는 여러개의 테이블에 누적된 데이터 삭제하기 postgresql을 사용하는 application을 운영하는 환경에서, application에 삭제 기능이 구현되지 않아 데이터가 계속 누적되는 이슈가 있었다. 운영중인 서버에 disk 용량은 정해져 있었기 때문에 일정 기간이 지난 데이터를 주기적으로 삭제를 해줘야하는 상황이 발생하였다. application에 요구사항이 반영되어 사이트에 업뎅이트 되려면 몇 달의 시간이 필요했고, 그 전까지 임시 운영 방안을 마련해야 했다. 그래서 생각한 방법이 아래와 같이 procedure를 작성하여 database에 등록해두고, 리눅스 서버의 cron에서 주기적으로 procedure를 호출하도록 설정하기로 했다. 그전에 mysql에서 간략한 procedure를 작성해 본 경험은 있었으나 postgresql과 문법적.. 2021. 8. 28.
postgresql : linux shell에서 자주 사용하는 psql, pg_dump 명령어 모음 pg_admin 등의 GUI Client 사용이 제한적인 상황에서 linux에 설치된 postgresql 제어가 필요한 경우 자주 사용하는 명령어를 정리합니다. docker container로 postgresql을 설치된 환경에서의 명령어로 작성하였으니 host에 설치된 경우 모든 명령어에서 docker exec {container_name} 을 제거하고 실행하면 됩니다. CLI 활용하기 Run Database CLI docker exec {container_name} psql -U {DB_USER} -d {DB_NAME} Exit Database CLI exit Run query in host docker exec {container_name} psql -U {DB_USER} -d {DB_NAME} -.. 2021. 7. 18.
반응형