본문 바로가기

Programming

(32)
[Redshift]테이블 컬럼 정보 조회(컬럼desc, PK, 컬럼 사이즈 등) 안녕하세요. 잇킹 시도르입니다. 프로젝트를 진행하다 보면 문서 작성이나, 원천 시스템 분석을 위해서 테이블 스키마 조회를 자주 하게 됩니다. 이때 테이블 정보를 조회하기 위해서 각 DBMS들의 메타 테이블을 조회하는 쿼리를 자주 사용합니다. 오라클이면 ALL_TAB_COLUMNS과 같은 시스템 테이블이나 VIEW, MYSQL/MariaDB는 information_schema의 테이블을 이용해서 스키마 정보를 조회하기 위한 쿼리를 짜게 되죠. Postgresql을 기반으로 하는 Redshift도 마찬가지로 스키마 메타 데이터를 저장하는 테이블이 있으며, 데이터베이스 개발자 안내서를 확인해보니 시스템 카탈로그 테이블이라고 하네요. docs.aws.amazon.com/ko_kr/redshift/latest/d..
[Redshift]PK를 보장하지 않는 레드시프트 안녕하세요. 잇킹 시도르입니다. Redshift를 활용하면서 몇 가지 기존의 RDB와는 다른 점으로 인해서 문제가 종종 있습니다. 이번에는 제약조건 때문인데요. 바로 PK였습니다. PK(기본키)는 Unique Key + NOT NULL입니다. 당연히 PK를 지정했으니, Redshift 테이블에서도 이를 보장할 거라고 생각했는데요. 단위 테스트를 진행하다 보니, PK를 만족하지는 중복된 Row들을 발견할 수 있었습니다. 또 PK를 잘못 지정했는지 재확인하고 PK컬럼이 중복이 아닌 건가? 하고 또 확인하고 했었는데요. 결론은 Redshift에서 제약조건은 참고용일 뿐 보장하지 않았습니다. 제약조건은 실행 계획의 힌트로 사용되며, PK를 처리를 위해서는 애플리케이션이나 프로시저에서 처리해야 한다는 거였죠. R..
[Redshift][Amazon](500310) Invalid operation : relation already exists; 안녕하세요. 잇킹 시도르입니다. 오늘은 AWS의 Redshift에서 작업을 하다가 발생한 에러를 공유하려고 합니다. 구축 단계에서 개발을 하다 보면 테이블 변경이 잦습니다. 샘플 데이터를 넣었다가 삭제도 하고 테이블 백업도 하면서 개발을 진행하던 중에 테이블을 드롭 후 재생성하고 나서 PK를 지정하려니 다음과 같은 에러가 나더라고요. SQL Error[500310] [42P07] : [Amazon](500310) Invalid operatioin : relation pk명 already exists; 테이블 스크립트를 자동화해서 pk명을 pk_테이블명으로 하고 있어서, 해당 상황을 이해를 못했습니다. PK가 존재한다니.. 원인 파악을 못하고, 테이블을 다시 드롭하고 생성하고 PK 지정을 반복했는데 동일 ..
[Python]SSL Error 발생 시에 pip install 방법 안녕하세요. 잇킹 시도르입니다. 파이썬 패키지를 설치하는 방법은 여러 가지입니다. 파이참에서 설치하기도 하고, CMD창에서 PIP INSTALL 패키지 명령어를 통해서 설치하기도 하죠. 그런데 회사 네트워크나 보안 네트워크를 이용하는 경우 인증서 문제로 인하여 위의 방법을 통한 패키지 설치가 되지 않는 경우가 있습니다. 이런 경우의 에러 메시지로 [SSL: CERTIFICATE_VERIFY_FAILED] 를 보실 수 있을 겁니다. 이런 상황에서 해결 방법입니다. 1. pip upgrade pip install --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org --upgrade pip 2. ..
[DBeaver]스크립트에서 라인번호 추가하기 안녕하세요. 잇킹 시도르입니다. 다양한 개발 tool들이 라인 번호를 보여주며 에러를 찾거나, 개발하는데 도움을 줍니다. Dbeaver도 마찬가지로 같은 기능이 있습니다. 이번에는 스크립트 창에서 라인 번호를 추가하는 방법을 알아보겠습니다. Dbeaver는 기본 설정으로 스크립트에서 라인 번호를 보여주지 않습니다. 다음과 같은 방법으로 간단하게 스크립트에서 라인 번호를 추가할 수 있습니다. 1) 표시한 부분에서 마우스 우클릭을 해줍니다 2) 우클릭 메뉴 중에서 Show Line Numbers를 클릭합니다. 3) 라인 번호가 추가되었음을 확인할 수 있습니다. 이처럼 간단하게 Dbeaver에서 라인 번호를 추가하는 방법을 정리해보았습니다. 이상입니다.