오늘은 DBeaver DB 관리 툴 사용 방법을 포스팅하려고 합니다. 많은 DB관련 툴을 사용해봤지만, 현재 저자는 DBeaver을 주로 사용하고 있습니다. DB 툴별로 장단점이 존재하지만, 실무에서 사용하기에 DBeaver의 기능들이 가장 개발자에게 도움이 되는것들이 많은 것 같습니다. 먼저 DBeaver을 설치해 보도록 하겠습니다. 아래 링크를 통해 본인 환경에 맞는 DBeaver을 설치합니다. 저는 Windows에서 사용하기 때문에 Windows 환경에 맞는 버전을 설치하였습니다. Community 버전과 PRO 버전으로 나뉘는데 Community 버전만 이용해도 충분히 많은 기능들을 사용할 수 있고 무료로 사용가능하기 때문에 Community 버전을 설치하도록 합니다. https://dbeaver..
DATABASE
오늘은 MariaDB를 백업하는 과정에서 나타나는 mysqldump error Authentication plugin 'client_ed25519' 해결 방법에 대해 포스팅 하려고 합니다. client_ed25519에러는 DB backup 이외에도 MariaDB와 인증하는 모든 부분에서 나타나는 부분이기 때문에 해당 포스팅은 해당 인증에 대한 공통적인 이슈라고 보시면 됩니다. 먼저 일반적으로 MySQL과 MariaDB는 그동안 저를 포함해서 거의 큰 차이 없이 사용하는분들이 많았을텐데, 각 DB의 버전이 올라가면서 점차 차이가 나타나게 되었습니다. 구체적인 차이가 궁금하신 분들은 아래 링크를 통해 확인하실 수 있습니다. https://aws.amazon.com/ko/compare/the-differenc..
오늘은 MySQL 실행된 Query log확인 및 추적하는 방법에 대해 포스팅 하려고 합니다. Query log에 쌓이는 데이터들은 DB 툴 또는 OS에 설치된 DB Script 또는 JDBC 드라이버등을 이용한 모든 실행가능한 DDL 및 DML 등의 실행한 내용들입니다. 일반적으로는 쿼리를 통한 성공 실패여부에 대해서는 log 또는 쿼리실행 결과문에서 바로 보여지는 부분이지만 어떤시간에 얼마나 어떤 Query들이 사용됐는지 보기 위해서는 log를 확인해야합니다. MySQL의 실행된 Query log확인 방법은 다음과 같습니다. 1. show variables like 'general%'; 명령어 실행 해당 명령어는 Query 입력창에 실행하며 아래 그림과 같이 general_log에 value 값이 O..
오늘은 Postgresql table column 정보 조회 방법에 대해 포스팅 하려고 합니다. table column은 간혹 column에 대한 size 또는 data_type를 확인하고 싶을때 자주 사용합니다. DataBase tool이 있다면, 명령어를 확인하지 않고 간단하게 확인할 수 있지만, tool을 사용하지 못하는 TUI 환경 또는 Linux 환경에서는 DataBase query를 통해 확인해야 하기 때문에, 아래 내용과 같이 실행을 하면 정보를 확인 할 수 있습니다. column_name(컬럼 이름), data_type(컬럼 타입), character_maximum_length(컬럼 길이) 이외에도 많은 정보들이 들어 있는데, 확인 하고 싶으시면 select 에 * 로 확인하시면 됩니다. ..
오늘은 Postgresql DB의 value too long for type character varying 이슈에 대한 해결 방법에 대해 포스팅 하려고 합니다. value too long for type character varying 오류가 나타나는 현상은 database에 특정 값들을 insert 또는 update하려고 할 때 나타납니다. 예를 들어, 특정 값에 대한 column의 max 길이가 10자리인데 실제 insert 또는 update 하려는 값의 길이가 11자리 이상일때 나타난다고 보시면 됩니다. 이 문제를 해결하기 위해서는 일반적으로 database의 column의 길이를 늘려주면 됩니다. 저는 Postgresql로 변경하도록 하겠습니다. database마다 명령어는 조금씩 다를 수 있기..
오늘은 ERROR: column reference "column_name" is ambiguous 오류 및 해결 방법에 대한 포스팅을 하려고 합니다. 해당 오류는 A와 B의 테이블을 조인 했을 때 해당 컬럼이 양쪽에 존재하고 어떤 테이블의 컬럼인지 명시가 되어있지 않아서 발생하는 오류입니다. 예를 들어보면 아래 내용과 같은 쿼리를 실행 했을 때 ERROR: column reference "tablename" is ambiguous 라는 오류가 나타나게 됩니다. where 조건에서 tablename이 어느 테이블의 컬럼인지 명시 해주어야 합니다. a.tablename 또는 b.tablename으로 바꿔주시면 해결 됩니다. select a.tablename from a_table a join b_table ..
먼저 CDATA는 Unparsed Character Data의 약자로 파싱되지 않는 문자 데이터를 의미합니다. 쿼리문이 담긴 xml문서에서 =&등의 특수문자가 있을 경우 오류가 나는 현상을 방지하기 위해 CDATA를 사용합니다. 10; ]]>
데이터베이스에서 Delete 문법에 대한 간단하지만 자주 사용되는 쿼리를 설명하려고 합니다. delete 쿼리는 특정 테이블에 저장되어있는 데이터들을 삭제하는 명렁어입니다. 간단한 예제들로 설명을 하도록 하겠습니다. 먼저 데이터를 확인하기 위해 select 쿼리를 사용합니다. 15개의 데이터가 존재하는 것을 확인했습니다. select * from board_pro; 제거하고자 하는 row를 조건을 설정하여 제거합니다. 중요한 데이터를 삭제할 수도 있기때문에 select문으로 조건값을 먼저 검사해보고 delete로 제거하는 것을 추천드립니다. 먼저 bno값이 1로 되어있는 row를 제거한다고 했을때 select * from board_pro where bno = 1 으로 데이터가 존재하는지, 제거하려고 하..