postgres 전체 데이터를 sql 파일로 백업

Intro liquibase를 사용하여 데이터베이스 스키마를 관리하고 있습니다. 주로 PostgreSQL을 사용하고 있는데, 테스트를 수행할 때 별도의 외부 DB를 사용하지 않고 인메모리 DB를 이용하고자 했습니다. 그런데 gen_random_uuid와 같은 일부 PostgreSQL 문법과 시퀀스 생성 등이 발목을 잡았습니다. 그래서 인메모리 DB로 테스트를 할 때는 liquibase를 사용하지 않고, data.sql 파일을 불러와서 DB스키마를 생성하려고 합니다. 이를 위해 먼저 liquibase를 사용하여 PostgreSQL 데이터베이스에 초기 데이터를 입력한 다음, 이를 SQL로 추출하여 H2에서 사용 가능하게 편집하려고 합니다. liquibase로 변경 로그를 불러와 SQL로 추출할 수도 있지만,..

Data/PostgreSQL 2023.03.24
[MYSQL Docker] 데이터베이스 매일 자동 백업하기

Intro 집에서 개인적으로 운영하고 있는 MYSQL 데이터베이스가 있습니다. 옛날에는 이용자가 없어 개발용으로만 사용하고 있었는데, 요즘에는 어느정도 유의미한 데이터가 쌓이고 있다 보니 괜히 실수로 데이터베이스에 흠집이 갈까 걱정이 되어 이제 슬슬 주기적인 백업을 하려고 합니다. DB에 문제가 생겼을 때, 한시간 이내에 그대로 복구를 해 낼지 아니면 영영 모든 데이터를 잃게 될지 그 결과에 엄청 큰 차이가 있습니다. 규모가 정말 큰 서비스에서는 좀 더 효과적이고 빠른 백업 방법을 찾아야겠지만 손쉽고 간단하게 mysqldump를 이용해서 백업을 하려고 합니다. 거기에 더해 도커 컨테이너에 띄워져 있는 컨테이너를 자동으로 백업 할 수 있도록 스케줄러를 돌리도록 설정을 해서 크게 신경쓰지 않고 DB 데이터 ..

Data/MYSQL ⁄ MariaDB 2023.01.07
할 때마다 까먹어서 정리하는 PSQL 접속 방법

Intro 가끔 필요한 일이 돌아왔다. 데이터베이스에 직접 접속해서 뭔가를 변경 해야 한다. Docker 네트워크 내에서만 통신하고 외부로는 바인딩도, 포트 포워딩도 되어 있지 않으니, 번거롭게 다시 설정 하고 컨테이너 재시작 할 필요 없이 컨테이너 내부에 접속해서 바로 변경하면 되겠군. 얼른 마칠 생각을 하며 PostgreSQL 이 떠 있는 컨테이너에 접속하는중 docker exec -it postgres_container bash 이제 psql을 써볼까나..? psql 명령어와 함께 손에 익은 옵션을 기계적으로 붙이는중 psql -U postgres 앗.. postgres 유저가 없다..? 참. 나는 다른 이름으로 유저명을 지정했지 유저명을 변경해 재시도 하는 중 psql -U my_user_name..

Data/PostgreSQL 2023.01.04
[POSTGRES] 전체 테이블, 컬럼 정보 조회

Intro 여러가지 산출물 작업을 해야 하는데, 데이터베이스에 대한 내용들은 이미 워낙 방대하기 때문에 도저히 손으로 작업 할 엄두가 나지 않았습니다. 필요에 의해 쿼리를 작성 했으나 추후 또 필요할 경우가 생겼을 때 시간을 절약 하기 위해, 또한 비슷한 고민을 하고 있는 분들에게 도움이 되었으면 하는 마음에 글로 작성해 남겨두려 합니다. SQL 제가 산출물 작업 하면서 필요한 내용들 위주로 쿼리를 작성 하였기 때문에 필요한 자료가 조금씩 다를 경우에는 일단 실행 해본 후에 쿼리를 약간씩 수정해서 사용 하시면 됩니다. 전체 테이블 주석과 실제 테이블명 조회 테이블에 주석을 달아놓지 않았다면 NULL로 표기됩니다. 평소에 주석을 꼭 달아두어야 나중에 서류 작업 할 때 편합니다. 예시를 들기 위해 엉뚱한 D..

Data/PostgreSQL 2022.07.26
Apache Solr 시작하기

https://solr.apache.org/guide/8_11/solr-tutorial.html Intro Apache Solr 공식 튜토리얼 문서를 따라 진행해보며 조금은 더 이해하기 쉽게 각색 해 보았습니다. 모두 아시는 것처럼 최고의 레퍼런스는 공식 문서임에는 틀림이 없지만 공식문서가 항상 가장 이해하기 쉬운 것은 아닙니다. 최대한 쉽게 작성하기 위해 많은 노력이 있었겠지만 애초에 문서 작성자와 튜토리얼 사용자의 눈높이가 다를 수밖에 없고 언어도 영어로 작성되었기 때문에 시간과 집중력이 더 많이 필요합니다. Apache Solr를 처음 사용해보는 입장에서도 쉽게 따라할 수 있도록 생소한 용어들에는 주석을 달았으며 어려울 수 있겠다고 생각 되는 부분들은 최대한 자세히 풀어서 진행해 보았습니다. 해당 ..

Data/Search Engine 2022.04.12