[컴][웹] PostgreSQL 설치




PostgreSQL vs MySQL



PostgreSQL download



download 를 하고 설치를 다하면 Stack builder (각종 필요한 요소들을 다운받을 수 있는 wizard)를 호출하는데, 굳이 하지 않아도 된다.


PostgreSQL GUI Tool

아래 경로에서 여러가지를 찾아볼 수 있다. 기본적으로 pgAdmin III 가 같이 설치된다.


PostgresSQL 설치 가이드


PostgresSQL 설치 후 할일

linux - How to configure postgresql for the first time? - Stack Overflow


Ubuntu 에서 설치하기



$ sudo apt-get update
$ sudo apt-get install postgresql-9.1

설치되면, 아래 경로에 실행script 가 만들어진다.
  • /etc/init.d/postgresql

version 을 못찾는 경우

내가 설치한 ubuntu 의 버전에 최신 postgreSQL version 정보가 없을 수 있다. 이럴때는 아래 link 를 참고하자.





VM 의 guest OS 와의 통신

VM ware 를 사용할 때 Windows(host) 와 통신하려면,

pg_hba.conf 설정

pg_hba.conf 위치

hba: host-based authentication
pg_hba.conf 의 위치는 제각각이라고 한다. 정확한 위치는 db 에 접속해서 아래명령어를 입력해서 확인할 수 있다.
SHOW hba_file;


pg_hba.conf 수정

기본적으로 아래처럼 생겼다. 그래서 local 에서만 접근가능하다.

테스트를 위해서 192.168.0.102/32 를 더해줬다. 이렇게 하고 나서 다시 load 를 위해서 deamon 을 restart 해줘야 한다.
...
# DO NOT DISABLE!
# If you change this first entry you will need to make sure that the
# database superuser can access the database using some other method.
# Noninteractive access to all databases is required during automatic
# maintenance (custom daily cronjobs, replication, and similar tasks).
#
# Database administrative login by Unix domain socket
local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             192.168.0.102/24        md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5

sudo /etc/init.d/postgresql reload


postgresql.conf

이번에는 postgres 가 accept 할 ip 주소를 적어줘야 한다. 이것은 postgres 가 설치된 machine 과 관련된 ip 를 설정하는것이다. 이 network card 에서 들어오는 것을 listen 하겠다. 이다. ( 참고 )이것도 마찬가지로 restart 를 해야 한다.
...
#------------------------------------------------------------------------------
# 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
     # (change requires restart)
...

sudo /etc/init.d/postgresql restart


iptable

iptable 도 열려있는지 확인해야 한다. 이부분은 아래 링크를 참고하자.

memory 설정(postgresql.conf/shared_buffers)



대략적으로 machine 의 1/4 ~ 1/3 정도가 좋다고 한다. 1/3 이 넘어가면 속도가 오히려 저하된다고 한다.(이것은 memory 를 os 에서도 사용하기 때문에.)

참고로 config file 의 위치는 아래 명령어를 통해 알 수 있다.
SHOW config_file




User 생성

유저 계정 생성 방법은 아래 링크를 참고하자.


postgre user 의 password 변경
$ sudo -i
$ sudo postgres
$ psql -c "ALTER USER postgres PASSWORD 'testpassword';"


command line 에서 생성

postgres id 로 들어가서, psql 을 실행시켜야 한다. 그렇지 않으면 authentication error 를 보게 된다.
$ sudo -i
$ sudo postgres
$ psql -c "CREATE USER <username> WITH PASSWORD 'mypassword';"



Database 생성

$ sudo -i
$ sudo postgres
$ /usr/bin/createdb <dbname> --owner=<username>

PostgreSQL: Documentation: 9.4: createdb




댓글 없음:

댓글 쓰기