티스토리 뷰

Linux

Centos7에서 Postgresql12 설치

wldnjd2 2022. 4. 7. 15:01

0. 시작하기 전에

centos 설치시 계정 생성하지 않기
설치 완료 후 posgresql 설치 시 root 계정으로 접속하기 
-> 우측 상단 전원버튼 클릭하고 로그인하고 root로 접속
 

 

1. Postgresql rpm 추가

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

아래는 Yum repoistory 업데이트 (위랑 아래 둘 중 하나만 하면 된다)

rpm -Uvh https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

 

위의 방법은 아래 주소에서 링크 가져와서 리눅스에서 설치하는것.

출처: https://yum.postgresql.org/repopackages/

 

Repo RPMs - PostgreSQL YUM Repository

9.5 RHEL 8 - x86_64, RHEL 7 - x86_64, RHEL 7 - ppc64le, RHEL 6 - x86_64, RHEL 6 - i386, RHEL 5 - x86_64, RHEL 5 - i386

yum.postgresql.org


2. Postgresql-12설치

yum install postgresql12-server

 


3. Postgresql추가 지원 모듈 설치

yum -y install postgresql12-server postgresql12-contrib



4. 기본 데이터베이스 생성

/usr/pgsql-12/bin/postgresql-12-setup initdb



5. 서비스 등록 및 시작

systemctl enable postgresql-12
systemctl start postgresql-12

 

 

6. 서비스 등록 및 실행 여부 확인

systemctl list-unit-files --type=service | grep post*

-> postgresql.service 가 enabled인지 확인하기 설정안되었으면 5번으로 돌아가보자.

 

 

7. Postgresql 계정 접속

su postgres
psql postgres
#create user 유저명 password '비번' superuser;
create user jwkim password 'jwkim' superuser;

 


8. 외부 접근 허용 설정
외부 접근을 허용해야지 DBeaver로 접속을 할 수 있다


- postgresql.conf 파일 수정

vi /var/lib/pgsql/12/data/postgresql.conf

아래 listen_addresses의 주석을 해제하고 *로 바꿔준다.

listen_addresses='*'


- pg_hba.conf 파일 수정

vi /var/lib/pgsql/12/data/pg_hba.conf

pg_hba.conf 파일에서 맨 아래부분에 아래 코드를 추가해준다.

host all all 0.0.0.0/0 md5

-> 인터넷 찾아보면 더 복잡하게 여러과정이 있는데, 위에 적어놓은대로만 해도 외부 접근 허용이 가능하다. 포트번호는 5432이 기본인데 listen_addresses 밑에 주석처리가 되어있는데, 어차피 기본5432로 되어있기 때문에 굳이 건들이지 않아도 된다. 포트번호를 변경할때에만 주석해제해서 사용하면 된다.

 

 

9. 수정했으면 Postresql 서비스 재시작 해야함

systemctl restart postgresql-12

 

- 네트워크 확인 가능

#netstat - ntlp

5432 포트 외부 접근 허용 제대로 됬는지 확인 가능

 

 

10. 실행확인

systemctl status postgresql-12

위의 이미지에서 active를 확인 할 수 있다. -> 제대로 동작중

 


11. 방화벽 설정

 외부접근을 했는데도 DBeaver와 연결이 안되면 방화벽을 확인하자.


- 방화벽 상태 확인

systemctl status firewalld


- 방화벽 등록 포트 확인

firewall-cmd --permanent --zone=public --list-ports

위의 코드를 작성했는데 아무것도 뜨지 않으면 포트가 아무것도 등록 안된거니까 , 5432 포트에 등록해주면 된다.


- 방화벽 포트 등록

firewall-cmd --permanent --zone=public --add-port=5432/tcp

 

 

12. DBeaver에 새 데이터베이스 연결 
ifconfig로 ip 주소확인하고 dbeaver랑 연결하기
여기까지 했으면 dbeaver 연결까지 최종 끝.

 

 

명령어 모음

- 데이터베이스 목록 확인
postgres=# \l 

 

- postgres 계정 조회

postgres=#\du

 

- bash나 psql 나갈때     

#[ctrl+d]

 

- postgres 활성 상태 확인
#systemctl status postgresql-12.service
-> active 확인하기

 

- 추가 설치 하면 좋은거 (안해도됨)
vim -> vi 보다 더 향상된 편집기임
yum install vim-enhanced

 

- 설치한 postgres의 경로

아래 명령어로 postgresql의 설치 경로를 확인 할 수 있다.

service postgresql-12 status

postgresql의 설치 경로 -> /var/lib/pgsql/12/data 

 

cd /var/lib/pgsql/12/data      //postgresql 설치 경로로 이동

+

처음에 ls를 입력해도 경로가 눈에 보이지 않아서 한참을 헤맸는데,

cd /var을 입력하면 해당 경로로 이동 가능하다 (cd var 안됨)

 

리눅스에서 var 경로가 뭔지 찾아봤는데,

variable의 약자로 가변 데이터 파일들이 저장된다.

각종 로그 파일들이 기록되고 자동 압축되어 데이터를 일시적으로 저장하기 위한 디렉토리이다.

 

더 자세한 것은 블로그 포스팅으로 따로 정리를 해야겠다.

 

 

 

 

주저리

인터넷에 굉장히 정보가 많은데 제대로 정리되어있는 글이 없었다

여러가지 너무 복잡하게 정리가 되어있다 보니까 

리눅스에 익숙하지도 않은데 너무 헷갈렸고 거의 4번정도 다시 팠다 ㅋㅋㅋㅋ 에휴

이게 뭐라고 셋팅하는게 뭐이리 어렵냐  정말 별거 아닌뎅 ㅜ

학교다닐때 리눅스 많이 했는데 열심히 공부좀 해놓을걸^^;; 

그리고 너무 이상한 에러가 나면 그냥 다시파고 처음부터 순서대로 하는게 아주 조타 


Ref.

https://www.postgresql.org/download/linux/redhat/

 

PostgreSQL: Linux downloads (Red Hat family)

Linux downloads (Red Hat family) The Red Hat family of distributions includes: Red Hat Enterprise Linux Rocky Linux CentOS (7 and 6 only) Fedora Oracle Linux and others. PostgreSQL is available on these platforms by default. However, each version of the pl

www.postgresql.org

https://lsjsj92.tistory.com/362

 

centos7 사용자에게 sudo 권한 부여하기

centos등 서버와 관련된 리눅스를 다루다 보면 특정 사용자에게 sudo권한을 줄 필요가 있습니다. root로 사용할 수는 없으니까 특정 유저에 sudo 권한을 주어서 이용하는 것이죠 그 방법은 간단합니

lsjsj92.tistory.com

https://bono915.tistory.com/entry/Linux-postgresql-12-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%97%85%EA%B7%B8%EB%A0%88%EC%9D%B4%EB%93%9C-%EB%B0%A9%EB%B2%95

 

[Linux] postgresql 12 설치 및 업그레이드 방법

오늘은 Linux에서 postgresql 12 버전에 대한 설치 및 업그레이드 방법에 대해 포스팅 하려고 합니다. 먼저 Postgresql이 기존 Linux에서 설치가 되어있다면, 제거하고 재설치 하는 방법으로 진행하겠습니

bono915.tistory.com

https://flipdata.tistory.com/53

 

<記> CentOS 7에 PostgreSQL 12 설치하기

현재 구성하고 있는 서버에는 이미 CentOS를 설치할 때 패키지로 설치된 PostgreSQL이 있다.(솔직히 언제 어떻게 설치했는지 기억이 나질 않는다... ㅡㅡ; 그냥 패키지로 설치되었다 추측하고 있다.) #

flipdata.tistory.com

 

댓글