본문 바로가기

Development/DataBase19

[postgresql] connection 늘리기 아래와 같이 쿼리를 실행하면 현재 설정되어있는 max_connection 수를 알수 있다. select * from pg_settings where name = 'max_connections'; /etc/postgresql/{버전}/postgresql.conf 위 파일을 vi 로 열어서 max_connection 값을 설정해주고 재시작 하면 설정이 적용된다. 재시작 (권한이 없으면 앞에 sudo 붙이고) /etc/init.d/postgresql restart 2020. 3. 18.
[Postgres]Postgres SQL 에서 현재 접속 session 확인 및 종료 시키기 우분투 기준으로 postgresql 사용시 session 확인 및 종료 시키는 방법이다.pgAdmin 에서는 할수 없는것인지.. 내가 못찾은것인지는 아직 모르겠다. 우선 우분투에서 postgres 에 접속을 한다. $ sudo -u postgres psql 그리고 나서 아래와 같이 쿼리를 실행시킨다. $ select * from pg_stat_activity where datname=; 이렇게 실행을 시키면 아래와 같이 결과 값이 나온다. 내가 아래에 붙여놓은것은 상단에 있는 컬럼 값만 넣은것이다. 실제로 프로세스가 있다면 아래에 쭉~~ 나오게 된다. 여기에서 볼것은 PID 이다. datid | datname | pid | usesysid | usename | application_name | clien.. 2018. 9. 11.
[RabbitMQ] MacOS에 RabbitMQ 설치 spring boot 와 연동하면서 삽질을 많이했는데 일단 기록은 해놔야 할것 같아서 메모를 한다.MacOs에서 RabbitMQ 를 설치하는것은 참~~ 간단하다. https://www.rabbitmq.com/install-standalone-mac.html Rabbitmq 홈페이지에 install 가이드를 보면 따라하기 쉽게 되어있다. 설치를 위해서는 brew를 설치 해야한다. https://brew.sh/index_ko.html brew 홈페이지에 가보면 설치 방법이 나와있다. 홈페이지에 나온대로 1/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"cs 이렇게 실행을 하면 bre.. 2017. 10. 27.
[REDIS]Redis ERR Client sent AUTH, but no password is set Redis ERR Client sent AUTH, but no password is set 이런 에러가 나올때가 있다. Request for authentication in a password-protected Redis server. Redis can be instructed to require a password before allowing clients to execute commands. This is done using the requirepass directive in the configuration file.If password matches the password in the configuration file, the server replies with the OK status code a.. 2017. 5. 19.
Maria DB root 계정 외부접속 허용 설정 방법 1. MySQL(Maria DB) 로 접속 한다.-> mysql -u root -p pw 2. use mysql 명령어를 입력한다. (root 패스워드가 없을 경우 -> update user set password=password('패스워드입력') where user='root'; 3. grant all privileges on *.* to 'root'@'%' identified by '비밀번호'; 입력한다. 4. flush privileges; 입력한다. 5. my.cnf 파일 내용중에서 bind-address =127.0.0.1 을 주석(#)처리 하고 저장한다. bind-address = 127.0.0.1 => #bind-address = 127.0.0.1(혹시 vi 명령어로 했을때 저장이 안되면 s.. 2016. 7. 29.
[SQL]ORA-01481 : 숫자 형식 모델이 부적합합니다. TEST TABLE COLUMN1 | TIMESTAMP SELECT TO_CAHR(COLUMN1, 'YYYYMMDDHH24M') AS COLUMN1 FROM TEST ORDERY BY TO_CAHR(COLUMN1, 'YYYYMMDDHH24M') 아무 생각없이 위에 쿼리를 작성하고 실행했더니 ORA-01481 에러가 발생했다.. 원인은 COLUMN1을 DATE 타입이 아닌 CHAR 타입으로 인식해서 발생한 오류이다. 해결책은 ALIAS 명을 바꾸던지 그냥 ORDER BY 에 ALIAS명만 써주면 된다. 쿼리 실해 순서가 ORDER BY구문이 SELECT 절보다 나중에 실행되기 때문에 저런 현상이 발생하는것 같다. -_-;;; 공부하자...(--) 2014. 3. 3.
[Oracle]select 세로를 가로로 뿌리기 SELECT 컬럼, LTRIM(sys_connect_by_path(컬럼,','),',') AS 컬럼명FROM ( SELECT 컬럼, menurole_id, row_number() OVER (partition BY 그룹컬럼 ORDER BY 정렬할컬럼) rn, COUNT (*) OVER (partition BY 그룹컬럼 ) cnt FROM 테이블명)WHERE level = cntstart WITH rn = 1connect BY prior 그룹컬럼 = 그룹컬럼 AND prior rn = rn-1유용하니 적어놔야지 ㅎㅎ 이것으로 응용하면 트리로 만들수 도 있다!! 2013. 2. 12.
[Oracle]시퀀스 만들기 CREATE SEQUENCE sequence_name [INCREMENT BY n1] [START WITH n2] [MAXVALUE n3 or NOMAXVALUE] [MINVALUE n4 or NOMINVALUE] [CYCLE or NOCYCLE] [CACHE or NOCACHE]; sequence_name ....... 생성하고자 하는 시퀀스 명 INCREMENT BY n1 ... 해당 시퀀스의 증가값을 지정한다. 생략하면 1로 지정됨. 오름차순 : 양의 정수, 내림차순 : 음의정수 사용 START WITH n2 ........ 해당 시쿼스가 처음 시작하는 값을 지정한다. 생략하면 1로 지정됨. MAXVALUE n3 ......... 해당 시퀀스가 생성할 수 있는 최대값, NOMAXVALUE ....... 2013. 2. 12.
SQL 문 수행단계 발췌 대상 테이블을 참조한다. (FROM)발췌 대상 데이터가 아닌 것은 제거한다. (WHERE)행들을 그룹화 합니다. (GROUP BY) → GROUPPING그룹함수의 값의 조건에 맞는 것만을 출력한다.(HAVING)데이터 값을 계산한다. (SELECT)데이터를 특정 칼럼을 기준으로 정렬한다. (ORDER BY) 앞으로 쿼리 작성할때 염두해 둬야겠다. 2013. 2. 12.
SQL 작성시 주의사항 . 조건 칼럼에 연산이 필요한 경우는 칼럼을 변형시키는 연산 대신에 비교되는 상수 값을변형시키는 방법을 찾아야 한다. 컬럼을 변형시킬경우 Index가 존재해도 Full Scan을 하게된다. SUBSTR(ENAME, 1,1) = '이' -> ENAME LIKE '이%'SAL * 12 > 30000000 -> SAL > 30000000 / 12TO_CHAR(BIRTH,'YYYYMMDD') = '20020909' -> BIRTH = TO_DATE('20020909','YYYYMMDD') 2. NULL은 인덱스에 들어가지 않기 때문에 인덱스를 스캔할 필요가 없다. 따라서 NULL 비교 조건을 상수 조건으로 변경해야한다. name is null -> name > '' (VARCHAR2)age is null -> .. 2013. 2. 12.
[Oracle]계층구조 가져오기 SELECT SYS_CONNECT_BY_PATH(ITM_NM,'>>') HRCH_FULL_NM -- 전체계층구조(이름)FROM TABLE WHERE ITM_CLSF_CD = '12131804'START WITH ITM_CD IS NULLCONNECT BY PRIOR ITM_CD = PARENT_ITM_CD이렇게 쿼리를 작성하면 계층구조는 ITEM >> ITEM >> ITEM이런 형식으로 나오게 된다. START WITH ITM_CD IS NULL ITM_CD IS NULL : ITM_CD 가 NULL 인것을 ROOT로 인식한다. CONNECT BY PRIOR ITM_CD = PARENT_ITM_CD ITM_CD = PARENT_ITM_CD : 하위코드와 상위코드의 관계를 정의한다. 2013. 2. 12.
[SQL]REGEXP_SUBSTR 오라클 10g부터 정규 표현식을 사용할수 있게 되었다ㅏ. REGEXP_SUBSTR 란 키워드이다. 아주 간편하게 필터링 할수 있다. ㅎㅎ WITH TEMPTABLE AS (SELECT IF_FILE_NM FROM (SELECT 'L6D0POMTK00020111116133559.txt' AS IF_FILE_NM FROM DUAL UNION SELECT '1K010POMPKP1020111117134202.txt' AS IF_FILE_NM FROM DUAL UNION SELECT 'W100W10002POMT20111122131003.txt' AS IF_FILE_NM FROM DUAL UNION SELECT 'E10000SWPOMT20111114232235_7942630.txt' AS IF_FILE_NM FRO.. 2011. 12. 20.
[Oracle]세로 data를 가로로 변형하기 - LISTAGG 기존에 세로로 나온 DATA를 가로로 바꿀때에는 쿼리가 복잡했었지만 오라클 11g에서는 LISTAGG라는 함수를 사용해서 간단하게 만들수 있다. WITH RGN AS (SELECT RGN_CD FROM (SELECT 'A' AS RGN_CD FROM DUAL UNION SELECT 'B' AS RGN_CD FROM DUAL UNION SELECT 'C' AS RGN_CD FROM DUAL UNION SELECT 'D' AS RGN_CD FROM DUAL UNION SELECT 'E' AS RGN_CD FROM DUAL ) ) SELECT LISTAGG(RGN_CD, ',') WITHIN GROUP (ORDER BY RGN_CD)AS RGN_CD FROM RGN 결과 RGN_CD -------- A,B,C.. 2011. 11. 8.
[Oracle]ORDER BY 절에서 NULL 값 위치 지정 ORDER BY COLUMNAME NULLS LAST -> NULL 값을 마지막으로 ORDER BY COLUMNAME NULLS FIRST -> NULL 값을 처음으로 2011. 9. 26.
[SQL] 테이블명, 컬럼명, PK를 조회할수 있는 쿼리 DB : Oarcle SELECT A.TABLE_NAME as 테이블명 , B.COMMENTS as 테이블한글명 , A.COLUMN_NAME as 컬럼명 , C.COMMENTS as 컬럼한글명 , A.DATA_LENGTH , A.DATA_TYPE , A.NULLABLE , D.CONSTRAINT_NAME , D.CONSTRAINT_TYPE FROM ALL_TAB_COLUMNS A , ALL_TAB_COMMENTS B , ALL_COL_COMMENTS C , ALL_CONSTRAINTS D WHERE A.TABLE_NAME = B.TABLE_NAME AND A.TABLE_NAME= C.TABLE_NAME AND A.TABLE_NAME= D.TABLE_NAME AND A.COLUMN_NAME= C.COLUM.. 2011. 9. 1.