2024년 9월 25일 수요일

[라즈베리파이] PostgreSQL 데이터베이스 설치하기


인기 있는 오픈소스 DBMS(DataBase Management System) 포스트그레SQL 을 라즈베리파이에 설치해보자.


다음과 같은 순서대로 진행한다.

1. PostgreSQL DBMS 설치하기

2. DB생성 및 접속

3. 접근권한부여

4. DB 원격연결 허용

5. 원격 연결

6. 간단한 쿼리작성

7. python extension 설치(필요시)

8. pgAdmin을 설치



1. PostgreSQL DBMS 설치하기

운영체제를 최신 상태로 업데이트 한다.

$ sudo apt update && sudo apt upgrade -y 


다음의 명령어를 입력한다.

$ sudo apt install postgresql


apt repository로 설치했다면 자동으로 실행된다.

실행상태 확인을 위해 다음의 명령어를 입력한다.

$ sudo systemctl status postgresql


설치가 완료되면 계정을 postgres로 변경한다.

$ sudo su postgres


계정이 postgres로 변경되면 다음의 명령어를 입력하여 새로운 계정을 생성하고 역할을 부여한다. 

$ createuser pi -P --interactive

* 주의 : 이 사용자(pi)는 DB사용을 위해 생성한 사용자다. 시스템 사용자(pi)가 아니다.

DB에 접근하기 위해 사용할 비밀번호를 입력한다

Enter password for new role:

Enter : 비밀번호

다음의 질문에 y를 선택한다

$ Shall the new role be a superuser?(y/n) y


DB CLI에 접근하기 위해 다음의 커맨드를 입력한다

$ psql -d postgres -U pi -W

비밀번호를 입력해 접속 승인을 받는다.


2. DB생성 및 접속

psql을 입력하여 DBMS에 접속하고, 데이터베이스 mydatabase를 생성한다.

$ psql

> create database mydatabase;

명령어 \q 또는 Ctrl + D 를 눌러서 DBMS에서 빠져나온다. 

그리고 다음의 명령어를 입력하면, 방금 생성한 mydatabase에 접속할 수 있다.

$ psql -d mydatabase -U pi -W


3. 접근권한부여

다음과 같이 sudo명령어로 nano 등을 사용하여 pg_hba.conf 파일을 연다.

* 버전을 확인하여 적절한 버전으로 수정필요 (화면은 버전13)

아래의 이미지를 확인하여 해당 공간에 입력할 준비를 한다.




















아래와 같은 내용을 복사하여 화면처럼 붙여넣는다.
host  all  all  0.0.0.0/0  md5










4. DB 원격 연결 허용

sudo 권한으로 nano등의 에디터로 postgresql.conf를 연다.

아래 이미지를 확인하여 해당 라인으로 이동한다.




















앞줄 '#' 를 삭제하여 주석 처리를 해제하고  'localhost'를 지우고 '*'을 입력한다




















수정된 내용을 적용하기 위해 systemctl을 사용하여 DB를 재시작한다.




5. 원격 연결

아래의 명령어를 입력하여 DB에 원격으로 연결한다.

$ psql -h 192.168.1.30 -p 5432 -d mydatabase -U pi -W

*ip부분은 자신이 설치한 DB서버의 IP로 입력한다.

 



6. 간단한 쿼리 작성

데이터베이스에 접속하면 테이블이 아무것도 없다.

psql shell 에서 간단한 테이블을 만들어보자. 

mydatabase => create table people(name text, company text);

만든 테이블에 다음의 데이터를 입력한다.

mydatabase => insert into people values ('Ben Nuttall', 'Raspberry Pi Foundation');

mydatabase => insert into people valuse ('Rikki Endsley', 'Red Hat');


그리고 select 쿼리를 작성해 입력한 내용을 확인한다.

mydatabase => select * from people;

공식매뉴얼 링크

https://www.postgresql.org/docs/


7. Python extension 설치(필요시)

procedure와 function을 Python으로 작성하기 위한 확장팩을 설치한다.

터미널 화면상에서 아래의 명령어를 실행한다.

$ sudo apt install postgresql-plpython3-15

* plpython3-15 중 '15'는 postgreSQL의 버전

설치 후 DB에 접속 해서 다음의 SQL Query를 작성한다.

>> CREATE EXTENSION plpython3u;

정상적으로 실행되면 준비완료.


8. pgAdmin 설치

pgsql 공식 DB관리도구인 pgadmin을 설치하기 위해 아래의 링크를 통해 다운로드 받아서 설치한다.

- 링크: https://www.pgadmin.org/download/


또는 본인 좋아하는 DB관리도구를 다운로드 받아서 설치해보자.

- 링크 : https://dbeaver.io/download/

- 링크 : https://www.heidisql.com/download.php

- 링크 : https://github.com/hangum/tadpolefordbtools

- 링크 : http://tadpolehub.com/index.html

- 링크 : https://www.beekeeperstudio.io/

- 링크 : https://tableplus.com/