반응형
리눅스에서 TimescaleDB(PostgreSQL)를 외부로 오픈할 때는 네트워크 연결 활성화 되어 있는지 먼저 확인한 후에 TimescaleDB(PostgreSQL)의 환경설정파일 정보를 변경한다.
1. 네트워크 연결 활성화
1) 서비스 확인, 시작 및 재시작
- PostgreSQL 서비스가 활성화되어 있는지 알 수 있다.
[root@localhost ~]# systemctl status NetworkManager.service
[root@localhost ~]# systemctl start NetworkManager.service
[root@localhost ~]# systemctl restart NetworkManager.service
2) Ethernet 포트 연결 활성화
- 리눅스의 "Settings"에 "Connection"으로 외부로 오픈할 DB가 어떤 Ethernet 포트를 이용할 것인지 확인한다. 나의 경우는 enp4s0에 랜선을 연결해서 통신하기로 했다. 사실상 nmcli con up 명령어만 사용해도 네트워크 연결 활성화 작업이 끝난다.
[root@localhost ~]# nmcli con up "enp4s0"
연결이 성공적으로 활성화되었습니다 (D-버스 활성 경로: /org/freedesktop/NetworkManager/ActiveConnection/5)
- "nmcli con up"이 활성화라면 "nmcli con down"은 비활성화이다. 나중에 끌 경우를 생각하여 적어봤다.
[root@localhost ~]# nmcli con down "enp4s0"
'enp4s0' 연결이 성공적으로 비활성화되었습니다 (D-Bus 활성 경로: /org/freedesktop/NetworkManager/ActiveConnection/2)
3) 네트워크 설정 확인
- host to host 통신을 위하여 IP설정을 할 때, 다른 장치는 192.168.2.1, 리눅스는 192.168.2.2로 설정했었다.
[root@localhost ~]# ip addr show enp4s0
4: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:a0:c9:00:00:8d brd ff:ff:ff:ff:ff:ff
inet 192.168.2.2/24 brd 192.168.1.255 scope global noprefixroute enp4s0
valid_lft forever preferred_lft forever
inet6 fe80::fbfd:6edb:88dd:e318/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4) 전체 Ethernet 포트 연결상태 확인
- "nmcli dev status"와 "nmcli con show"를 이용하여 연결 상태 및 UUID까지 확인이 가능하다.
[root@localhost ~]# nmcli dev status
DEVICE TYPE STATE CONNECTION
enp3s0 ethernet 연결됨 enp3s0
enp2s0 ethernet 연결됨 enp2s0
enp4s0 ethernet 연결됨 enp4s0
virbr0 bridge 연결됨 (외부) virbr0
lo loopback 관리되지 않음 --
virbr0-nic tun 관리되지 않음 --
[root@localhost ~]# nmcli con show
NAME UUID TYPE DEVICE
enp3s0 6719fbd7-cc4f-4eef-810d-d61b9d0ec0a5 ethernet enp3s0
enp2s0 d8dffd5e-295e-4411-b14b-66e0bca3bc46 ethernet enp2s0
enp4s0 cbc20186-4c01-48c3-b844-55948a4feb9b ethernet enp4s0
virbr0 86c4a3fb-e39a-4360-a672-c57f2aa8f635 bridge virbr0
2. TimescaleDB(PostgreSQL)의 환경설정파일 정보 변경
1) postgresql.conf 파일 찾기
- TimescaleDB는 PostgreSQL를 기반으로 하고 있기 때문에 환경설정을 변경하려면 postgresql.conf에서 변경해야 한다. 해당 파일이 있는 위치를 확인한다.
[root@localhost ~]# find / -name postgresql.conf
find: ‘/run/user/1000/doc’: 허가 거부
find: ‘/run/user/1000/gvfs’: 허가 거부
/var/lib/pgsql/14/data/postgresql.conf
2) postgresql.conf 수정
- 해당 파일에서 listen_addresses = '*' 앞에 있던 주석(#)을 지워준다.
vi /var/lib/pgsql/14/data/postgresql.conf
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
3) pg_hba.conf 수정
- 상기 파일과 같은 경로에 있는 pg_hba.conf를 오픈하여 각 IPv4 및 IPv6 부분에 "host all all /0 md5"를 추가해준다.
vi /var/lib/pgsql/14/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 192.168.1.2/32 scram-sha-256
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 scram-sha-256
host all all ::/0 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256
4) postgresql restart
- TimescaleDB(PostgreSQL)을 재시작한다.
service postgresql-14.service restart
반응형
'프로그래밍 > TimescaleDB | PostgreSQL' 카테고리의 다른 글
TimescaleDB에 구조체 삽입 후 조회(2) (0) | 2022.03.23 |
---|---|
TimescaleDB에 구조체 삽입 후 조회(1) (0) | 2022.03.22 |
Server-side에서 TimescaleDB libpqxx 라이브러리 설치 및 사용하기 (0) | 2022.03.21 |
Linux에 TimescaleDB 설치하기 (0) | 2022.03.14 |
댓글