(→확인 2) |
John Jeong (토론 | 기여) (→참고) |
||
(사용자 2명의 중간 판 14개는 보이지 않습니다) | |||
3번째 줄: | 3번째 줄: | ||
==확인== | ==확인== | ||
<source lang=' | <source lang='console'> | ||
root@zetawiki:~# aptitude show postgresql | grep State | root@zetawiki:~# aptitude show postgresql | grep State | ||
State: not installed | State: not installed | ||
9번째 줄: | 9번째 줄: | ||
==설치== | ==설치== | ||
<source lang=' | <source lang='console'> | ||
root@zetawiki:~# apt-get install postgresql | root@zetawiki:~# apt-get install postgresql | ||
Reading package lists... Done | Reading package lists... Done | ||
27번째 줄: | 27번째 줄: | ||
Do you want to continue? [Y/n] | Do you want to continue? [Y/n] | ||
</source> | </source> | ||
<source lang=' | <source lang='console'> | ||
Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main libpq5 amd64 9.3.11-0ubuntu0.14.04 [80.6 kB] | Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main libpq5 amd64 9.3.11-0ubuntu0.14.04 [80.6 kB] | ||
Get:2 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main postgresql-client-common all 154ubuntu1 [25.4 kB] | Get:2 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main postgresql-client-common all 154ubuntu1 [25.4 kB] | ||
43번째 줄: | 43번째 줄: | ||
==확인 2== | ==확인 2== | ||
<source lang=' | <source lang='console'> | ||
root@zetawiki:~# dpkg -l | grep postgres | root@zetawiki:~# dpkg -l | grep postgres | ||
ii postgresql 9.3+154ubuntu1 all object-relational SQL database (supported version) | ii postgresql 9.3+154ubuntu1 all object-relational SQL database (supported version) | ||
51번째 줄: | 51번째 줄: | ||
ii postgresql-common 154ubuntu1 all PostgreSQL database-cluster manager | ii postgresql-common 154ubuntu1 all PostgreSQL database-cluster manager | ||
</source> | </source> | ||
<source lang=' | <source lang='console'> | ||
root@zetawiki:~# cat /etc/passwd | grep postgres | root@zetawiki:~# cat /etc/passwd | grep postgres | ||
postgres:x:111:121:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash | postgres:x:111:121:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash | ||
</source> | </source> | ||
<source lang=' | :→ PostgreSQL 관리자 계정 <code>postgres</code>가 생성되었음 | ||
<source lang='console'> | |||
root@zetawiki:~# /etc/init.d/postgresql status | root@zetawiki:~# /etc/init.d/postgresql status | ||
9.3/main (port 5432): online | 9.3/main (port 5432): online | ||
</source> | </source> | ||
<source lang=' | <source lang='console'> | ||
root@zetawiki:~# netstat -tnlp | grep postgres | root@zetawiki:~# netstat -tnlp | grep postgres | ||
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 23680/postgres | tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 23680/postgres | ||
</source> | |||
:→ 로컬호스트(127.0.0.1)에서만 접속 가능 | |||
==패스워드 설정== | |||
* postgres 계정의 패스워드 변경 | |||
<source lang='console'> | |||
root@zetawiki:~# sudo -u postgres psql template1 | |||
could not change directory to "/root": Permission denied | |||
psql (9.3.11) | |||
Type "help" for help. | |||
template1=# | |||
template1=# ALTER USER postgres with encrypted password 'P@ssw0rd'; | |||
ALTER ROLE | |||
template1=# \q | |||
root@zetawiki:~# | |||
</source> | |||
==접속 IP대역 설정== | |||
* ★ 여기서는 테스트를 위해 모든 IP를 허용하지만, 실제로는 접근을 허용할 IP만으로 한정하는 것이 권장됨 | |||
<source lang='console'> | |||
root@zetawiki:~# ps -ef | grep postgresql.conf | grep -v grep | |||
postgres 30050 1 0 12:47 ? 00:00:00 /usr/lib/postgresql/9.3/bin/postgres -D /var/lib/postgresql/9.3/main -c config_file=/etc/postgresql/9.3/main/postgresql.conf | |||
</source> | |||
:→ 설정파일은 /etc/postgresql/9.3/main/postgresql.conf | |||
* 설정파일 편집 | |||
<source lang='console'> | |||
root@zetawiki:~# vi /etc/postgresql/9.3/main/postgresql.conf | |||
</source> | |||
<source lang='aconf'> | |||
#listen_addresses = 'localhost' # what IP address(es) to listen on; | |||
# comma-separated list of addresses; | |||
# defaults to 'localhost'; use '*' for all | |||
# (change requires restart) | |||
listen_addresses = '*' | |||
</source> | |||
:→ 모든 IP(*)에서 5432 포트 접근 가능하도록 설정<ref name='not-recommended'>권장되는 설정은 아니고 실제 접속할 서버 IP로 제한하는 것이 바람직하다.</ref> | |||
* hba설정 파일<ref>호스트 기반 인증(host-based authentication)</ref> 편집 (1줄 추가) | |||
<source lang='console'> | |||
root@zetawiki:~# vi /etc/postgresql/9.3/main/pg_hba.conf | |||
</source> | |||
<source lang='aconf'> | |||
host all all 0.0.0.0/0 md5 | |||
</source> | |||
:→ 모든 IP(0.0.0.0/0)에서 모든 DB(all)에 대해 모든 계정(all)으로 로그인 허용<ref name='not-recommended' /> | |||
* PostgreSQL 재시작 후 LISTEN 포트 확인 | |||
<source lang='console'> | |||
root@zetawiki:~# /etc/init.d/postgresql restart | |||
* Restarting PostgreSQL 9.3 database server [ OK ] | |||
</source> | |||
<source lang='console'> | |||
root@zetawiki:~# netstat -tnlp | grep postgres | |||
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 32093/postgres | |||
tcp6 0 0 :::5432 :::* LISTEN 32093/postgres | |||
</source> | |||
==원격지에서 접속 테스트== | |||
* 다른 서버에서 PostgreSQL 서버로 로그인이 되는지 확인해보자. | |||
* 사전작업: [[리눅스 psql 설치]] | |||
<source lang='console'> | |||
[root@zeta01 ~]# psql -h 135.79.246.80 -U postgres template1 | |||
Password for user postgres: | |||
</source> | |||
<source lang='console'> | |||
psql (8.4.20, server 9.3.11) | |||
WARNING: psql version 8.4, server version 9.3. | |||
Some psql features might not work. | |||
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256) | |||
Type "help" for help. | |||
template1=# | |||
</source> | </source> | ||
69번째 줄: | 143번째 줄: | ||
*[[우분투 MySQL 설치]] | *[[우분투 MySQL 설치]] | ||
*[[리눅스 psql]] | *[[리눅스 psql]] | ||
*[[sudo: unable to execute /usr/bin/psql: Permission denied]] | |||
==참고== | |||
* https://help.ubuntu.com/lts/serverguide/postgresql.html | |||
* https://www.postgresql.org/download/linux/ubuntu/ | |||
[[분류: apt-get]] | [[분류: apt-get]] | ||
[[분류: PostgreSQL]] | [[분류: PostgreSQL]] |
2018년 12월 19일 (수) 11:09 기준 최신판
- 우분투 PostgreSQL 서버 설치
- 우분투 postgres 설치
1 확인[ | ]
Console
Copy
root@zetawiki:~# aptitude show postgresql | grep State
State: not installed
2 설치[ | ]
Console
Copy
root@zetawiki:~# apt-get install postgresql
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libpq5 postgresql-9.3 postgresql-client-9.3 postgresql-client-common
postgresql-common
Suggested packages:
oidentd ident-server locales-all postgresql-doc-9.3
The following NEW packages will be installed:
libpq5 postgresql postgresql-9.3 postgresql-client-9.3
postgresql-client-common postgresql-common
0 upgraded, 6 newly installed, 0 to remove and 145 not upgraded.
Need to get 889 kB/3,685 kB of archives.
After this operation, 15.5 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Console
Copy
Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main libpq5 amd64 9.3.11-0ubuntu0.14.04 [80.6 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main postgresql-client-common all 154ubuntu1 [25.4 kB]
... (생략)
Creating new cluster 9.3/main ...
config /etc/postgresql/9.3/main
data /var/lib/postgresql/9.3/main
locale en_US.UTF-8
port 5432
update-alternatives: using /usr/share/postgresql/9.3/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode
* Starting PostgreSQL 9.3 database server [ OK ]
Setting up postgresql (9.3+154ubuntu1) ...
Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
3 확인 2[ | ]
Console
Copy
root@zetawiki:~# dpkg -l | grep postgres
ii postgresql 9.3+154ubuntu1 all object-relational SQL database (supported version)
ii postgresql-9.3 9.3.11-0ubuntu0.14.04 amd64 object-relational SQL database, version 9.3 server
ii postgresql-client-9.3 9.3.11-0ubuntu0.14.04 amd64 front-end programs for PostgreSQL 9.3
ii postgresql-client-common 154ubuntu1 all manager for multiple PostgreSQL client versions
ii postgresql-common 154ubuntu1 all PostgreSQL database-cluster manager
Console
Copy
root@zetawiki:~# cat /etc/passwd | grep postgres
postgres:x:111:121:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash
- → PostgreSQL 관리자 계정
postgres
가 생성되었음
Console
Copy
root@zetawiki:~# /etc/init.d/postgresql status
9.3/main (port 5432): online
Console
Copy
root@zetawiki:~# netstat -tnlp | grep postgres
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 23680/postgres
- → 로컬호스트(127.0.0.1)에서만 접속 가능
4 패스워드 설정[ | ]
- postgres 계정의 패스워드 변경
Console
Copy
root@zetawiki:~# sudo -u postgres psql template1
could not change directory to "/root": Permission denied
psql (9.3.11)
Type "help" for help.
template1=#
template1=# ALTER USER postgres with encrypted password 'P@ssw0rd';
ALTER ROLE
template1=# \q
root@zetawiki:~#
5 접속 IP대역 설정[ | ]
- ★ 여기서는 테스트를 위해 모든 IP를 허용하지만, 실제로는 접근을 허용할 IP만으로 한정하는 것이 권장됨
Console
Copy
root@zetawiki:~# ps -ef | grep postgresql.conf | grep -v grep
postgres 30050 1 0 12:47 ? 00:00:00 /usr/lib/postgresql/9.3/bin/postgres -D /var/lib/postgresql/9.3/main -c config_file=/etc/postgresql/9.3/main/postgresql.conf
- → 설정파일은 /etc/postgresql/9.3/main/postgresql.conf
- 설정파일 편집
Console
Copy
root@zetawiki:~# vi /etc/postgresql/9.3/main/postgresql.conf
aconf
Copy
#listen_addresses = 'localhost' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
listen_addresses = '*'
- → 모든 IP(*)에서 5432 포트 접근 가능하도록 설정[1]
- hba설정 파일[2] 편집 (1줄 추가)
Console
Copy
root@zetawiki:~# vi /etc/postgresql/9.3/main/pg_hba.conf
aconf
Copy
host all all 0.0.0.0/0 md5
- → 모든 IP(0.0.0.0/0)에서 모든 DB(all)에 대해 모든 계정(all)으로 로그인 허용[1]
- PostgreSQL 재시작 후 LISTEN 포트 확인
Console
Copy
root@zetawiki:~# /etc/init.d/postgresql restart
* Restarting PostgreSQL 9.3 database server [ OK ]
Console
Copy
root@zetawiki:~# netstat -tnlp | grep postgres
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 32093/postgres
tcp6 0 0 :::5432 :::* LISTEN 32093/postgres
6 원격지에서 접속 테스트[ | ]
- 다른 서버에서 PostgreSQL 서버로 로그인이 되는지 확인해보자.
- 사전작업: 리눅스 psql 설치
Console
Copy
[root@zeta01 ~]# psql -h 135.79.246.80 -U postgres template1
Password for user postgres:
Console
Copy
psql (8.4.20, server 9.3.11)
WARNING: psql version 8.4, server version 9.3.
Some psql features might not work.
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
Type "help" for help.
template1=#
7 같이 보기[ | ]
- CentOS PostgreSQL 설치
- 우분투 PostgreSQL 클라이언트 설치
- 우분투 MySQL 설치
- 리눅스 psql
- sudo: unable to execute /usr/bin/psql: Permission denied
8 참고[ | ]
편집자 Jmnote Jmnote bot John Jeong
로그인하시면 댓글을 쓸 수 있습니다.
- 분류 댓글:
- Apt-get (2)
우분투 MySQL 설치 ― Qweqwe750우분투 MySQL 설치 ― Jmnote