pi에 설치를 하고 쓰질 않다보니
패스워드가 기억나질 않아
삭제하고 새로 설치를 했습니다
참고로 apt-get을 이용해서 삭제해도
설정파일 같은건 삭제가 안되있으니 찾아서 삭제해야 합니다
데이터 디렉토리랑 설정만 지워도 됩니다
이전 파일 삭제
sudo apt-get purge postgresql* -y
sudo apt-get autoremove -y && sudo apt-get autoclean -y
sudo rm -rf /etc/postgresql
sudo rm -rf /var/lib/postgresql
postgresql 설치
sudo apt-get update -y && sudo apt-get upgrade -y
sudo apt-get install postgresql -y
pi@rasp-dev:~ $ sudo apt-get install postgresql -y 패키지 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 The following additional packages will be installed: postgresql-9.6 postgresql-client-9.6 postgresql-client-common postgresql-common postgresql-contrib-9.6 sysstat 제안하는 패키지: postgresql-doc locales-all postgresql-doc-9.6 libdbd-pg-perl isag 다음 새 패키지를 설치할 것입니다: postgresql postgresql-9.6 postgresql-client-9.6 postgresql-client-common postgresql-common postgresql-contrib-9.6 sysstat 0개 업그레이드, 7개 새로 설치, 0개 제거 및 6개 업그레이드 안 함. 0 바이트/6,043 k바이트 아카이브를 받아야 합니다. 이 작업 후 29.5 M바이트의 디스크 공간을 더 사용하게 됩니다. 패키지를 미리 설정하는 중입니다... Selecting previously unselected package postgresql-client-common. (데이터베이스 읽는중 ...현재 125716개의 파일과 디렉터리가 설치되어 있습니다.) Preparing to unpack .../0-postgresql-client-common_181+deb9u2_all.deb ... Unpacking postgresql-client-common (181+deb9u2) ... Selecting previously unselected package postgresql-client-9.6. Preparing to unpack .../1-postgresql-client-9.6_9.6.13-0+deb9u1_armhf.deb ... Unpacking postgresql-client-9.6 (9.6.13-0+deb9u1) ... Selecting previously unselected package postgresql-common. Preparing to unpack .../2-postgresql-common_181+deb9u2_all.deb ... '/usr/bin/pg_config의 /usr/bin/pg_config.libpq-dev(으)로 전환, postgresql-common 패키지' 추가하는 중 Unpacking postgresql-common (181+deb9u2) ... Selecting previously unselected package postgresql-9.6. Preparing to unpack .../3-postgresql-9.6_9.6.13-0+deb9u1_armhf.deb ... Unpacking postgresql-9.6 (9.6.13-0+deb9u1) ... Selecting previously unselected package postgresql. Preparing to unpack .../4-postgresql_9.6+181+deb9u2_all.deb ... Unpacking postgresql (9.6+181+deb9u2) ... Selecting previously unselected package postgresql-contrib-9.6. Preparing to unpack .../5-postgresql-contrib-9.6_9.6.13-0+deb9u1_armhf.deb ... Unpacking postgresql-contrib-9.6 (9.6.13-0+deb9u1) ... Selecting previously unselected package sysstat. Preparing to unpack .../6-sysstat_11.4.3-2_armhf.deb ... Unpacking sysstat (11.4.3-2) ... sysstat (11.4.3-2) 설정하는 중입니다 ... update-alternatives: using /usr/bin/sar.sysstat to provide /usr/bin/sar (sar) in auto mode postgresql-client-common (181+deb9u2) 설정하는 중입니다 ... Processing triggers for systemd (232-25+deb9u11) ... postgresql-common (181+deb9u2) 설정하는 중입니다 ... supported-versions: WARNING! Unknown distribution: raspbian debian found in ID_LIKE, treating as Debian
Creating config file /etc/postgresql-common/createcluster.conf with new version
Creating config file /etc/logrotate.d/postgresql-common with new version Building PostgreSQL dictionaries from installed myspell/hunspell packages... Removing obsolete dictionary files: Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /lib/systemd/system/postgresql.service. Processing triggers for man-db (2.7.6.1-2) ... postgresql-client-9.6 (9.6.13-0+deb9u1) 설정하는 중입니다 ... update-alternatives: using /usr/share/postgresql/9.6/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode postgresql-9.6 (9.6.13-0+deb9u1) 설정하는 중입니다 ... Creating new cluster 9.6/main ... config /etc/postgresql/9.6/main data /var/lib/postgresql/9.6/main locale ko_KR.UTF-8 socket /var/run/postgresql port 5432 update-alternatives: using /usr/share/postgresql/9.6/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode postgresql (9.6+181+deb9u2) 설정하는 중입니다 ... postgresql-contrib-9.6 (9.6.13-0+deb9u1) 설정하는 중입니다 ... Processing triggers for systemd (232-25+deb9u11) ... pi@rasp-dev:~ $ |
설치를 하면 자동으로 postgres 이라는 user 계정이 생기는데
pi계정에서 psql 접속을 하려고 하면 role 이 없어서 진행이 안된다고 나옵니다
user를 postgres 계정으로 변경해야 합니다
계정변경 및 psql 진입
pi@rasp-dev:~ $ psql psql: 치명적오류: "pi" 롤(role) 없음 pi@rasp-dev:~ $ su - postgres 암호: su: 인증 실패 pi@rasp-dev:~ $ sudo su - postgres postgres@rasp-dev:~$ pwd /var/lib/postgresql/ postgres@rasp-dev:~$ ls 9.6 postgres@rasp-dev:~$ psql psql (9.6.13) 도움말을 보려면 "help"를 입력하십시오.
postgres=# show data_directory; data_directory ------------------------------ /var/lib/postgresql/9.6/main (1개 행)
postgres=#
|
근데 새로 생긴 계정에 비밀번호를 알 리가 없고…
postgres 계정에 패스워드를 변경해야 하는데 귀찮으니
sudo 를 이용해서 계정을 변경해서 psql에 진입 해봅니다
근데 postgres 계정 디렉토리가 /var/lib/postgresql 이라는게 눈에 띄네요
설치가 끝났으니 외부접속을 위해
설정파일과 패스워드를 수정해야합니다
외부접속 설정
sudo vim /etc/postgresql/9.6/mian/postgresql.conf
pi@rasp-dev:~ $ sudo vim /etc/postgresql/9.6/main/postgresql.conf
49 external_pid_file = '/var/run/postgresql/9.6-main.pid' # wr ite an extra PID file 50 # (change requires restart) 51 52 53 #--------------------------------------------------------------------------- --- 54 # CONNECTIONS AND AUTHENTICATION 55 #--------------------------------------------------------------------------- --- 56 57 # - Connection Settings - 58 59 #listen_addresses = 'localhost' # what IP address(es) to listen on; 59 listen_addresses = '*' # what IP address(es) to listen on; 60 # comma-separated list of addresses; 61 # defaults to 'localhost'; use '*' f or all 62 # (change requires restart) 63 port = 5432 # (change requires restart) 64 max_connections = 100 # (change requires restart) 65 #superuser_reserved_connections = 3 # (change requires restart) 66 unix_socket_directories = '/var/run/postgresql' # comma-separated list of di rectories 1 change; before #1 2 seconds ago 59,1 7% |
59번 라인이 주석처리 되있는데 풀어주고
localhost를 * 로 변경해줍니다
sudo vim /etc/postgresql/9.6/main/pg_hba.conf
pi@rasp-dev:~ $ sudo vim /etc/postgresql/9.6/main/ environment pg_hba.conf postgresql.conf pg_ctl.conf pg_ident.conf start.conf pi@rasp-dev:~ $ sudo vim /etc/postgresql/9.6/main/pg_hba.conf
77 78 # DO NOT DISABLE! 79 # If you change this first entry you will need to make sure that the 80 # database superuser can access the database using some other method. 81 # Noninteractive access to all databases is required during automatic 82 # maintenance (custom daily cronjobs, replication, and similar tasks). 83 # 84 # Database administrative login by Unix domain socket 85 local all postgres peer 86 87 # TYPE DATABASE USER ADDRESS METHOD 88 89 # "local" is for Unix domain socket connections only 90 local all all peer 91 # IPv4 local connections: 92 #host all all 127.0.0.1/32 md5 92 host all all 0.0.0.0/0 md5 93 # IPv6 local connections: 94 host all all ::1/128 md5 95 # Allow replication connections from localhost, by a user with the 96 # replication privilege. 97 #local replication postgres peer 98 #host replication postgres 127.0.0.1/32 md5 99 #host replication postgres ::1/128 md5 92,1 바닥 |
IPv4연결인 92번라인의 127.0.0.1/32 를 0.0.0.0/0 로 변경해줍니다
수정후에 postgresql을 재시작해줍니다
pi@rasp-dev:~ $ sudo service postgresql restart pi@rasp-dev:~ $ netstat -na | grep 5432 tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN tcp6 0 0 :::5432 :::* LISTEN unix 2 [ ACC ] STREAM LISTENING 52526 /var/run/postgresql/.s.PGSQL.5432 pi@rasp-dev:~ $ |
tcp 0.0.0.0:5432 가 보인다면 성공이긴 한데
postgres 계정의 패스워드를 모르니 psql로 패스워드를 변경해줍니다
pi@rasp-dev:~ $ sudo su - postgres postgres@rasp-dev:~$ psql psql (9.6.13) 도움말을 보려면 "help"를 입력하십시오.
postgres=# alter user postgres password 'postgres'; ALTER ROLE postgres=# |
패스워드를 변경했으니 외부 툴을 이용해서 접속테스트 해봐야죠
변경된 패스워드로 다람쥐 SQL로 테스트를 하기 연결되네요
굿굿
참고로 다람쥐를 쓰려면 postgresql jdbc가 있어야 하니
pgAdmin 쓰셔도 됩니다
관련글
[programing/GIS] - [El Capitan]postGis 외부 접속 허용하기 (mac os x)
[programing/GIS] - PostGIS Database 데이터베이스 생성 및 설정
[programing/GIS] - PostGIS 2.0 Shapefile and DBF Loader Exporter 기능 사용하기 (windows)
[programing/GIS] - PostgreSQL install PostgreSQL 설치 (mac os x)
[programing/GIS] - PostgreSQL install PostgreSQL 설치 (windows)
[programing/GIS] - PostgreSQL install PostgreSQL 설치 (ubuntu & raspbian)
[programing/GIS] - PostGis install PostGIS 설치 (mac os x, homebrew)
[programing/GIS] - PostGIS install PostGIS 설치 (widows)
[programing/GIS] - PostGIS install PostGIS 설치 (ubuntu & raspbian)
[OS/Utils] - 강추)다람쥐 SQL SQuirreL SQL 만능 DB 접속툴
[programing/GIS] - [macOS High Sierra] install pgAdmin4 v3.1
[embedded/raspberrypi] - 039. Raspberry Pi 라즈베리파이 - PostgreSQL(9.6) 재설치
참고
041. Raspberry Pi 라즈베리파이 - PostgreSQL(9.6) 데이터 위치 변경 (move to postgresql data directory) (0) | 2019.09.08 |
---|---|
040. Raspberry Pi 라즈베리파이 - 외장하드 포맷하기(Using Raspberry Pi mkfs format) (0) | 2019.09.08 |
038. Raspberry Pi 라즈베리 파이 - 자동실행 서비스 중지 (0) | 2019.08.31 |
037. Raspberry Pi 라즈베리 파이 - WEBDAV 설치 (0) | 2018.11.07 |
036. Raspberry Pi 라즈베리 파이 - Open source iot platform Thingsboard (0) | 2018.11.07 |
댓글 영역