전체 글 (175) 썸네일형 리스트형 [Postgresql/Greenplum] Order by Collate/NULLS 를 이용하여 데이터 정렬기준 변경하기 DBMS 마이그레이션을 프로젝트를 수행하면 꼭 나오는 유형이 정렬기준이 다르게 적용되는 점이다. 정렬기준이 다르게 적용되면 쿼리나 어플리케이션의 버그처럼 보여지면서 변경된 DBMS의 신뢰도가 확 낮아진다는 점이다. (그러면 예전 DB는 잘됐어요. Greenplum 또는 Postgresql 못 쓰겠네 라는 얘기를 백만번쯤 듣게 될 것이다.) 예를 들면 1. MySQL,SqlServer DBMS 에서 Greenplum 으로 DBMS를 변경하여 테이블의 데이터가 같아도 영문데이터가 먼저 나와야 하는데 한글 데이터가 먼저 표시되는 경우 2. Greenplum/Postgresql DBMS에서 order by 쿼리를 실행한 데이터와 엑셀의 정렬 기능을 사용한 데이터를 비교하는데 순서가 맞지 않아 정렬을 다시 해야하.. Apache Log4j 취약점 발견(CVE-2021-44228) Log4j 는 자바어플리케이션을 개발할때 로그를 기록해주는 라이브러리로 자바진영에서는 거의 표준처럼 사용되어 왔었다. 당연히 SpringBoot 프레임워크에서도 기본 로깅 라이브러리로 Log4j가 설정되어 있다. (정확히는 Log4j 2.x 버전이다.) 이번에 발견된 취약점은 자바의 JNDI 기능을 이용하여 데이터 탈취 및 원격으로 악성코드를 실행이 가능하다는 점이다. (위험도가 10점인 이유가 있다.;;;) 나무위키의 자세한 기록 https://namu.wiki/w/Log4j%20%EB%B3%B4%EC%95%88%20%EC%B7%A8%EC%95%BD%EC%A0%90%20%EC%82%AC%ED%83%9C?from=2021%EB%85%84%20%EC%9E%90%EB%B0%94%20%EB%B3%B4%EC%9.. 스마트싱스 앱 사용시 흔치 않은 알람메세지 스마트싱스를 실제 사용하다 흔치 않은 알람(푸시)메세지를 받을 경우가 있다. 공기청정기능이 포함된 에어컨의 필터청소 메세지 - 필터청소주기가 되면 알려준다. 세탁기의 무게중심 메세지 - 세탁물이 한쪽으로 치우쳐 있어 탈수진행이 안된다는 메세지 [Netezza] 엔터값(줄바꿈) 지우는 방법 네티자에서 엔터값(줄바꿈)을 없앨려면 REPLACE 말고 TRANSLATE 함수를 사용하여야 한다. REPLACE 함수를 사용하면 한글이 깨지는 문제가 발생하여 권장하지 않는다. -- TRANSLATE 함수사용 SELECT TRANSLATE(컬럼명, CHR(10), '') AS COLUMN_ALIAS FROM 테이블명 [Netezza] 데이터 Unload 수행시 - The update count exceeded Integer.MAX_VALUE. 에러발생 네티자 jdbc(nzjdbc.jar)를 이용하여 대용량테이블 데이터 Unload 수행시 에러발생 org.netezza.error.NzSQLException: The update count exceeded Integer.MAX_VALUE. 네티자 서버에서 nzsql 명령어를 이용하여 데이터를 unload 할때에는 에러가 발생되지 않지만 네티자 jdbc를 이용하여 대용량 데이터를 내려받을때에는 에러가 발생한다. 추측이지만 데이터를 내려받고 나서 건수를 UPDATE 하는 부분이 있는데 Integer로 되어 있어 약20억건 - Integer 최대값을 초과하면 에러가 발생되는 듯 하다. jdbc 연결파라미터에 ignoreUpdateCount=True 를 설정해 주면 에러메세지가 발생되지 않는다. NZ_SERVER.. [Greenplum] PXF 6.1.0 설치방법 PXF를 설치/사용하려면 JAVA 1.8 또는 JAVA 11이 설치되어 있어야 하고 smdw 노드를 제외한 모든 노드에 동일한 설치환경이 구성되어 있어야 한다. 해당 포스팅은 JAVA 1.8이 이미 설치된 것으로 간주하고 PXF 설치방법을 작성하였다. Greenplum을 설치하면 폴더 내 기본 pxf 가 설치되어 있는데 기본pxf는 사용하지 않고 최신버전 pxf rpm 파일을 다운받아 설치하자.(기본으로 설치되어있는 pxf는 기동이 잘 되지 않는다.) 설치환경 RedHat 7.5 Greenplum 6.12 JAVA 1.8 1. PXF RPM 설치 pxf-gp6-6.1.0-2.el7.x86_64.rpm 파일을 다운받아 /root/ 폴더에 업로드 후 진행 [root@sdw1 ~]# rpm -ivh pxf-g.. 윈도우 cmd로 자바프로그램 실행시 경고메세지 발생-Unable to get Charset 'cp65001' for property 'sun.stdout.encoding' 윈도우 명령프롬프트 cmd로 자바프로그램을 실행할 시 한글이 깨짐으로 인하여 chcp 65001 옵션을 사용하면 sun.stdout.encoding 경고메세지가 출력된다. Active code page: 65001 Unable to get Charset 'cp65001' for property 'sun.stdout.encoding', using default UTF-8 and continuing. 자바에서 표준출력 인코딩이 cp65001이 존재하지 않아 발생하는 경고메세지로 추정된다. java 명령어를 실행할때 -Dsun.stdout.encoding=UTF-8 옵션을 추가하면 해당 경고메세지가 출력되지 않는다. app.cmd 내용 @echo off rem ---------------------------.. [Postgresql/Greenplum] 테이블명 길이 63Byte 제한 Postgresql 테이블명 길이는 UTF-8 DB인 경우 63Byte 까지로 제한되어 있다.(영문/숫자 1Byte, 한글 3Byte) 확인버전 Postgreql 13.1 Greenplum 6.11(Postgresql 9.4) 테이블명만 제한되어 있는줄 알았으나 모든 오브젝트의 이름이 제한되어 있는 것을 공식사이트에서 확인할 수 있다. Postgresql 제한관련 정보 - https://www.postgresql.org/docs/13/limits.html 재미있는 사실은 재컴파일을 하면 길이제한 설정값을 조정할 수가 있는 것 같다. DB 캐릭터셋 확인 -- DB 캐릭터셋 확인 select datname , datctype from pg_database where datname = 'postgres' 문제.. [Greenplum] ilike 를 이용하여 대소문자 구분없이 조회하기 환경정보 Greenplum 6.12(Postgresql 9.4 기반) 사전준비 drop table if exists public.test; create table public.test( no serial primary key , title varchar(300) not null , memo text null , create_dt timestamp default current_timestamp ) distributed by (no); insert into public.test (title) values ('abcdeFg'),('Ef'); select * from public.test; like 구문을 이용하여 '%ef%' 를 조회하면 데이터가 조회되지 않는다. 하지만 ilike를 이용하면 데이터가 조회되는.. 윈도우에서 Mariadb 10.6.3 64bit 버전 설치하는 방법 Mariadb 최신버전인 10.6.3 64bit 를 윈도우 환경에서 설치해보자. (설치일 : 2021년 8월 3일) 설치환경 윈도우 10 Pro 64bit Mariadb 10.6.3 1. 설치파일 다운로드 https://downloads.mariadb.org/ 2. 설치진행 root 암호를 입력하고 root user가 외부에서 접속되게끔 체크, 기본 캐릭터셋을 UTF8 사용하게끔 체크하여 설치하자. 설정이 완료되어서 Install 버튼을 클릭하면 mariadb가 설치된다. 설치가 완료되었다. 3. Mariadb 접속 설치가 완료되었으면 기본적으로 설치되는 하이디SQL를 이용하여 root 유저로 접속해보자. select version() 쿼리를 실행하면 설치된 mariadb 10.6.3 버전이 정상적으로 .. 이전 1 ··· 8 9 10 11 12 13 14 ··· 18 다음 11/18