반응형

아래와 같이 쿼리를 실행하면 현재 설정되어있는 max_connection 수를 알수 있다.

 

select * from pg_settings where name = 'max_connections';

 

/etc/postgresql/{버전}/postgresql.conf

 

위 파일을 vi 로 열어서 max_connection 값을 설정해주고 재시작 하면 설정이 적용된다.

 

재시작 (권한이 없으면 앞에 sudo 붙이고)

/etc/init.d/postgresql restart

 

728x90
반응형
반응형

우분투 기준으로 postgresql 사용시 session 확인 및 종료 시키는 방법이다.

pgAdmin 에서는 할수 없는것인지.. 내가 못찾은것인지는 아직 모르겠다.  


우선 우분투에서 postgres 에 접속을 한다. 


$ sudo -u postgres psql


그리고 나서 아래와 같이 쿼리를 실행시킨다. 


$ select * from pg_stat_activity where datname=<DATABASE 명>;


이렇게 실행을 시키면 아래와 같이 결과 값이 나온다. 내가 아래에 붙여놓은것은 상단에 있는 컬럼 값만 넣은것이다. 실제로 프로세스가 있다면 아래에 쭉~~ 나오게 된다. 여기에서 볼것은 PID 이다. 


 datid | datname | pid | usesysid | usename | application_name | client_addr | client_hostname | client_port | backend_start | xact_start | query_start | state_change | waiting | state | query

-------+---------+-----+----------+---------+------------------+-------------+-----------------+-------------+---------------+------------+-------------+--------------+---------+-------+-------


위에서 확인한 PID를 보고 아래와 같이 쿼리를 실행한다. 


$ Select pg_terminate_backend(PID);


이렇게 실행을 시키면 프로세스가 종료된다. 


728x90
반응형
반응형

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


이렇게 실행을 하면 brew가 설치가 된다. brew는 apt-get  같은 패키지 관리/설치를 해주는 툴이라고 이해하면 될것 같다.


그리고 나서


1
brew install rabbitmq
cs


이렇게 하면 설치는 완료된다.  설치 위치는 /usr/local/sbin 위치에 설치가 된다.

저 디렉토리로 이동후에 ./rabbitmq-server 를 실행하면 정상적으로 작동한다.



그리고 나서 http://localhost:15672/ 로 접속을 하면 된다. 처음 계정은 guest/guest 로 접속을 하면 된다.


guest 로만 접속을 하면 이상하니깐 계정을 하나 더 만들었다.


1
2
./rabbitmqctl add_user rabbitmq rabbitmq1!
./rabbitmqctl set_user_tags rabbitmq administrator
cs


첫번째 명령어는 새로운 계정을 생성하는 명령어이고 두번째 명령어는 생성한 계정에 permission을 할당하는 명령어 이다.

실제 화면에 들어가서 확인해 보면 아래와 같이 나온다.




728x90
반응형
반응형

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 and starts accepting commands. Otherwise, an error is returned and the clients needs to try a new password.

Note: because of the high performance nature of Redis, it is possible to try a lot of passwords in parallel in very short time, so make sure to generate a strong and very long password so that this attack is infeasible.


(출처 : https://redis.io/commands/auth)


내용을 살펴 보자면 Redis는 Client 가 command를 실행하기 위해서 password를 요구할수 있다. 그리고 그 패스워드는 configuration file 에 requirepass로 저장되어 있다. 바로 저 requiredpass가 없을때 위와 같은 에러메세지가 나온다. 


1
2
3
4
5
6
7
8
9
10
11
12
13
$ redis-cli -6379
127.0.0.1:6379> config get requirepass
1"requirepass"
2""
127.0.0.1:6379> config set requirepass mypass
OK
127.0.0.1:6379> config get requirepass
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth mypass
OK
127.0.0.1:6379> config get requirepass
1"requirepass"
2"mypass"
cs


값을 설정하기 위해서는 위와 같은 절차로 진행 하면 된다. 

redis-cli -p 6379 를 통해서 redis 접속후에 config get requirepass 명령어를 실행해본다. requirepass 가 위와 같이 빈값으로 나올 경우 set 명령어를 통해서 requirepass를 설정해준다. 그리고 설정해준 password 에 auth 설정을 해주면 모든 절차는 끝났다. 그리고 다시 실행해보면 에러는 발생하지 않는다. 



728x90
반응형
반응형

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 명령어로 했을때 저장이 안되면 sudo vi my.cnf 로 한다)


6. sudo service mysql restart!!!!


이렇게 하면 root 계정으로 외부에서 접속이 가능해진다. !!!

728x90
반응형
반응형

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 절보다 나중에 실행되기 때문에 저런 현상이 발생하는것 같다.

-_-;;;

공부하자...(--)

 

728x90
반응형
반응형

  1. SELECT 컬럼,
  2.         LTRIM(sys_connect_by_path(컬럼,','),',') AS 컬럼명
  3. FROM  (
  4.         SELECT 컬럼,
  5.         menurole_id,
  6.         row_number() OVER (partition BY 그룹컬럼 ORDER BY 정렬할컬럼) rn,
  7.         COUNT (*) OVER (partition BY 그룹컬럼 ) cnt
  8.         FROM 테이블명
  9. )
  10. WHERE level = cnt
  11. start WITH rn = 1
  12. connect BY prior 그룹컬럼 = 그룹컬럼 AND prior rn = rn-1
유용하니 적어놔야지 ㅎㅎ

이것으로 응용하면 트리로 만들수 도 있다!!

728x90
반응형
반응형

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 ......... 오름차순 최대 10의 27승 까지, 내림차순 -1 까지 생성됨.
MINVALUE n4 .......... 해당 시퀀스가 생성할 수 있는 최소값
NOMINVALUE .......... 오름차순 1 까지, 내림차순 -10의 26승 까지
CYCLE ................... 해당 시퀀스가 최대값에 도달한 후 다시 처음부터 시퀀스를 생성한다.
NOCYCLE ............... 해당 시퀀스가 최대값에 도달해도 다시 생성하지 않는다.[DEFAULT]
CACHE ................... 시퀀스 값을 메모리에 할당하여 처리한다. [ORACLE DEFAULT 20]
NOCACHE ............... 시퀀스를 메모리에 할당하여 사용하지 않음.


예)

CREATE SEQUENCE  TEST_SEQ  

        INCREMENT BY 1

        START WITH 1 

        MAXVALUE 99999999999

        NOCYCLE

        NOCACHE;


SELECT TEST_SEQ.NEXTVAL FROM DUAL;


사용자가 만든 시퀀스 조회

SELECT * FROM USER_SEQUENCES;

728x90
반응형
반응형

발췌 대상 테이블을 참조한다. (FROM)

발췌 대상 데이터가 아닌 것은 제거한다. (WHERE)

행들을 그룹화 합니다. (GROUP BY) → GROUPPING

그룹함수의 값의 조건에 맞는 것만을 출력한다.(HAVING)

데이터 값을 계산한다. (SELECT)

데이터를 특정 칼럼을 기준으로 정렬한다. (ORDER BY)


앞으로 쿼리 작성할때 염두해 둬야겠다. 

728x90
반응형

'Development > DataBase' 카테고리의 다른 글

[Oracle]select 세로를 가로로 뿌리기  (0) 2013.02.12
[Oracle]시퀀스 만들기  (0) 2013.02.12
SQL 작성시 주의사항  (0) 2013.02.12
[Oracle]계층구조 가져오기  (0) 2013.02.12
[SQL]REGEXP_SUBSTR  (0) 2011.12.20

+ Recent posts