DB 마다 달라서 ..

전에 My SQL 로 작업할 때는 이렇게 안했던거 같은뎁 .. 

여튼 기록해 놓으려고 한다 !

 

1. 방화벽 열기

윈도우 검색에 방화벽만 검색해도 나온다

 

'방화벽 상태 확인' 선택 하면 아래와 같은 화면이 나오는데 여기에서

'고급 설정' 선택하기

 

'인바운드 규칙' 선택 후 '새규칙' 선택

 

나는 db 포트를 열 것이기 때문에 포트 선택 후 특정 포트를 입력해주었다.

그 후 다른 설정은 그대로 두고 다음 버튼을 눌렀다.

 

마지막 이름작성 화면에서 나중에 컨트롤 할 수 있게 기억할 수 있는 이름으로 등록해주었다.

그런 뒤 '마침'

 

이런 식으로 '인바운드 규칙' 목록에서 확인할 수 있다.

 

2. 그런 뒤, postgreSQL 의 설정을 수정해주어야한다 ..

경로는 postgreSQL이 설치된 폴더의 data까지 이동한다.

그런 뒤, 'pg_hba.conf' 파일을 찾는다.

 

3. 아래의 코드를 밑에 이미지와 같이 추가해준다.

host    all             all             0.0.0.0/0            scram-sha-256

 

왜 0.0.0.0/0 으로 하냐?

모든 IPv4 address에서 사용하고 싶기 때문이다 .. 

만약 다른 옵션을 확인하고 싶으면 아래에 더 설명이 잘되어있다.

https://stackoverflow.com/questions/3278379/how-to-configure-postgresql-to-accept-all-incoming-connections

 

How to configure PostgreSQL to accept all incoming connections

I've got a PostgreSQL data base that I'd like to configure to accept all incoming connections regardless of the source IP address. How can this be configured in the pg_hba.conf file? I'm using post...

stackoverflow.com

 

3. 그리고 마지막 관문 !!

'서비스' 에 들어가서 'postgresql-' 로 시작하는 서비스를 찾는다. 

 

마우스 오른쪽 버튼을 클릭 후 '다시시작' 을 클릭한다.

 

4. DBeaver 에서 확인해보면 성공 !!!!

(내가 사용하는 DB 관리 툴이 DBeaver 이다.. 각자 사용하는 툴로 확인해보면 아마 성공 ..?)

Host는 외부에서 붙을 본인의 ip주소를 입력하고, port 는 방금 열었던 방화벽의 포트를 입력해준다 .. 

끝 !!

 

( 아, 같은 망에서만 가능한 방법이다 ..)

'sql > postgresql' 카테고리의 다른 글

[Postgresql] 속도가 느려지는 function .. 기록  (0) 2022.03.20

같은 화면인데 아래에 있는 화면은 목록을 눌러서 조회했을때, 속도가 1.63s

 

해당 화면에 조회버튼을 눌렀을 때 (캐시가 있는 상태), 588ms

이게 무슨 일이야.. 싶어 

로그를 찍어 WinMerge를 해주었다.

그랬더니 차이나는 부분은 이것,,

(목록을 클릭해서 나오는 log)

WHERE 날짜 >= COALESCE(NULL, TO_CHAR(NOW() - interval '1 months', 'YYYY-mm-dd')
  AND 날짜 <= COALESCE(NULL, TO_CHAR(NOW(), 'YYYY-mm-dd')

 

(캐시가 남아있는 상태에서 조회 버튼 클릭했을때 log)

WHERE 날짜 >= COALESCE('2022-02-17', TO_CHAR(NOW() - interval '1 months', 'YYYY-mm-dd')
  AND 날짜 <= COALESCE('2022-03-17', TO_CHAR(NOW(), 'YYYY-mm-dd')

 

아차 싶었다.

프론트에서 처음 조회할 때, 스크립트로 오늘부터 1달 이전~오늘 날짜까지 

날짜 <![CDATA[>=]]> COALESCE(#{선택한 시작 날짜}, to_char(now()- interval '1 months', 'YYYY-mm-dd'))
						 AND occrrnc_de <![CDATA[<=]]> COALESCE(#{선택한 종료 날짜}, to_char(now(), 'YYYY-mm-dd')

 

그래서,,

해당 쿼리를 db관리도구인 DBeaver에서 COALESCE(null, to_char(날짜))실행시켜봤더니 아이디와 조회수만 가져오는데 677ms가 걸렸다.

 

그리고 COALESCE null이 아니라 옳은 날짜가 들어간 상태에서 실행을 해보니 180ms ..

데이터를 파싱해주는 to_char이라는 함수가 좀 느리다는 말을 듣기는 했지만.. 약 5배정도 걸렸다 .. 

 

그리고 혹시나 싶어 COALESCE함수를 제거해봤더니..

16ms ... 조금 배신당한 기분이랄까.....

ㅎㅎㅎ

여튼 이렇게 하나 또 알고 간다.

페이징 로딩 속도를 배이상 줄여서 솔직히 좀 즐겁다 히히

 

페이징 데이터 실행 속도를 줄이려면 자바 단 보다는 쿼리부터 수정하고 그다음에 소스코드를 수정해야겠다..

소스코드만 수정했는데도 이렇게 빨라질수가. ..

'sql > postgresql' 카테고리의 다른 글

[Postgresql] 같은 망일 때, 외부 접속 허용 설정하기  (0) 2022.03.29

+ Recent posts