개인 NAS(AS-602T) 의 PostgreSQL 9.3.2 에서 적용했던 내용을 바탕으로 끄적였습니다.
다음의 두개의 파일을 수정해 주면 된다는데,
( 참고 : http://justckh.blogspot.com/2013/10/postgresql-ip.html )
postgresql.conf
pg_hba.conf
저는 개인 NAS를 사용하기 때문에 해당 파일의 위치가 윈도우나 리눅스 계열 등의 일반적인 환경과 달라서 파일의 위치는 find 명령으로 찾아봤습니다.
1 2 3 4 5 6 7 | $ cd / $ find -name 'postgresql.conf' find: ./.dbus: Permission denied ./volume1/.@plugins/AppCentral/postgresql/pgha/doc/slaveDB/postgresql.conf ./volume1/.@plugins/AppCentral/postgresql/pgha/doc/masterDB/postgresql.conf ./volume1/PostgreSQL/postgresql.conf ./share/PostgreSQL/postgresql.conf | cs |
1 2 3 4 5 6 | $ find -name 'pg_hba.conf' find: ./.dbus: Permission denied ./volume1/.@plugins/AppCentral/postgresql/pgha/doc/slaveDB/pg_hba.conf ./volume1/.@plugins/AppCentral/postgresql/pgha/doc/masterDB/pg_hba.conf ./volume1/PostgreSQL/pg_hba.conf ./share/PostgreSQL/pg_hba.conf | cs |
각각 다음의 위치에서 발견되었네요.
./volume1/PostgreSQL/postgresql.conf
./volume1/PostgreSQL/pg_hba.conf
postgresql.conf 파일을 수정합니다.
1 | $ vi /volume1/PostgreSQL/postgresql.conf | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - #listen_addresses = 'localhost' # what IP address(es) to listen on; listen_addresses = '*' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost'; use '*' for all # (change requires restart) #port = 5432 # (change requires restart) port = 5432 # (change requires restart) max_connections = 100 # (change requires restart) # Note: Increasing max_connections costs ~400 bytes of shared memory per | cs |
pg_hba.conf 를 수정합니다.
1 | $ vi /volume1/PostgreSQL/pg_hba.conf | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all md5 # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5 # Allow replication connections from localhost, by a user with the # replication privilege. #local replication admin md5 #host replication admin 127.0.0.1/32 md5 #host replication admin ::1/128 md5 host all all 0.0.0.0/0 md5 | cs |
여기에서 주의할 점이 있는데, md5 라고 명시되어있는 부분을 함부로 trust 라고 변경하면 큰일 날수 있습니다. 그냥 인터넷에서 검색해서 해보니 몇몇 블로그에선 저 부분을 그냥 trust 라고 적어놔서 그냥 따라해보니, 별도의 인증과정 없이 마구 접속이 됩니다. 큰일날뻔 했습니다. ㅠ_ㅜ
DataGrip 에서 설정해 봤습니다.
1 | alter user admin with password '????????'; | cs |
admin 유저의 암호를 변경해주고, 꼬옥 기억을 합시다.^^