LinuxPostgreSQL가 설치 되어 있는데 신규 프로젝트를 위한 DB를 생성할 일이 발생했습니다.

PostgreSQL에 사용자 계정을 생성하고 신규 Database를 만들어 외부에서 접속 가능하도록 설정을 하려고 합니다작업 순서도 계정 생성, DB생성, 접속 설정 순으로 진행 합니다.


postgresql user database create


작업시 주의사항은 root 권한으로 하는 작업과 postgres 권한으로 하는 작업 그리고 DB에 접속해서 하는 작업이 섞여 있습니다.

 

우선 postgresql에 접속을 합니다.

$ sudo -u postgres psql

 

접속이 성공하면 계정 생성과 디비 생성을 진행 합니다.

 

- 계정 및 권한

postgres=# CREATE USER copycoding SUPERUSER;


- 비번 생성

postgres=# ALTER USER copycoding WITH PASSWORD 'copycopy';


- DB 생성

postgres=# create database copycodingdb with owner copycoding encoding 'UTF8';

postgresql user database create


이제 postgresql을 재시작 해주는데 설치를 어떻게 했냐에 따라 뒤에 버전 정보가 붙을 수도 있습니다저는 9.6을 설치하며 버전정보를 그냥 사용했습니다.

 

$ sudo systemctl restart postgresql-9.6

 

DB가 잘 생성이 되었는지 확인하기 위해 다시 DB에서 명령어로 확인합니다.

postgres=# \l


postgresql user database create


상단에 생성된 DB가 보이니 잘 만들어 졌습니다

 

이제 외부에서 접속 할 수 있도록 설정 합니다설정 파일 위치를 확인 하고

postgres=# show hba_file;

              hba_file              

-------------------------------------

 /var/lib/pgsql/9.6/data/pg_hba.conf

(1 row)

 

 

계정을 postgres로 변경 합니다.

[root@localhost copycoding]# su postgres

 

그리고 검색한 파일을 수정 합니다.

$ vi /var/lib/pgsql/9.6/data/pg_hba.conf


파일을 열고 IPv4 부분을 찾아 라인을 하나 추가 합니다.

host    all             copycoding      0.0.0.0/0               md5


postgresql user database create


신규 User 정보를 추가가 끝나면 저장하고

 

postgres=# pg_ctl reload

 

디비를 재시작 합니다.

# sudo systemctl restart postgresql-9.6

 

아직 설정이 하나 더 남아 있습니다.  postgres 계정으로 conf 파일을 수정 합니다.


bash-4.2$ vi /var/lib/pgsql/9.6/data/postgresql.conf

 

파일에서 주석이 되어 있으면 주석을 풀고 다음처럼 수정 합니다.

 

listen_addresses = '*'

port = 5432


postgresql user database create


방화벽도 설정을 합니다.

$ firewall-cmd --permanent --add-port=5432/tcp

$ firewall-cmd --reload

 

설정이 모두 완료 되었습니다.

Windows에서 pgAdmin III를 이용하여 접속을 해 봅니다.


postgresql user database create


서버에서 디비를 생성할때 기록한 정보를 입력하고 OK 버튼을 클릭 합니다.


postgresql user database create


9.6을 설치해서 pgAdmin III는 지원이 잘 안될 수 있다고 하는데 무시하고 확인버튼을 클릭 합니다.


postgresql user database create


접속이 잘 되는 군요아직 Table 작업은 안되어있긴 하지만 성공입니다.


- copy coding -


+ Recent posts