Computer >> 컴퓨터 >  >> 시스템 >> Linux

Ubuntu에서 PostgreSQL 설치 및 구성하는 방법 완벽 가이드

관계형 데이터베이스 관리 시스템(RDBMS)은 정보를 체계적으로 저장, 구성, 접근할 수 있는 방법을 제공하기 때문에 수많은 웹사이트와 애플리케이션의 핵심 요소로 자리 잡았습니다.

이 글에서는 PostgreSQL이 무엇인지 자세히 살펴보고, Ubuntu 환경에서 PostgreSQL을 설치하고 구성하는 방법을 단계별로 안내합니다.

PostgreSQL이란 무엇인가?

PostgreSQL은 SQL을 지원하는 오픈소스 데이터베이스 관리 시스템입니다. 뛰어난 데이터 관리 기능을 갖추고 있어 개발자는 이를 활용해 장애에 강한(fault-tolerant) 애플리케이션을 구축할 수 있습니다.

이 플랫폼은 직접 데이터 유형을 정의하거나, 사용자 정의 함수를 만들고, 서로 다른 프로그래밍 언어로 작성된 코드를 통합하는 유연성도 제공합니다. 또한 데이터 양과 동시 접속 사용자 수 측면에서 확장성이 매우 뛰어납니다.

그럼 Ubuntu 21.04 기준으로 PostgreSQL 설치 과정을 살펴보겠습니다.

1단계: Ubuntu에 PostgreSQL 설치

일부 PostgreSQL 패키지는 Ubuntu 기본 저장소에 이미 포함되어 있습니다. 명령줄에서 다음 명령어로 PostgreSQL을 설치할 수 있습니다.

sudo apt install postgresql postgresql-contrib

설치 확인

ls 명령어로 구성 파일 위치를 확인하여 PostgreSQL이 시스템에 성공적으로 설치되었는지 검증할 수 있습니다.

ls /etc/postgresql/12/main/

여기서 12는 PostgreSQL 버전을 나타냅니다. 시스템에 설치된 패키지 버전에 따라 이 숫자는 달라질 수 있습니다.

PostgreSQL 상태 확인

설치가 끝나면 다음 명령어로 PostgreSQL 상태를 확인합니다.

service postgresql status

출력 결과에 active 상태가 표시되면 PostgreSQL 서비스가 정상적으로 실행 중인 것입니다. 반대로 inactive로 표시되면 다음 명령어로 서비스를 시작해야 합니다.

service postgresql start

statusstart 외에도 다음과 같은 PostgreSQL 서비스 명령어를 활용할 수 있습니다.

  • stop: 서비스 중지
  • restart: 서비스 재시작
  • reload: 설정 다시 불러오기
  • force-reload: 설정 강제 재적용

2단계: 슈퍼유저로 로그인

본격적인 작업에 앞서 PostgreSQL 서버에서 데이터베이스 슈퍼유저로 로그인해야 합니다. 가장 간단한 방법 중 하나는 Unix 사용자를 postgres 계정으로 전환하는 것입니다.

루트 사용자 자격 증명 설정

다음 명령어로 PostgreSQL 대화형 셸(psql)에 접속합니다.

sudo -u postgres psql

그다음 아래 쿼리로 루트(postgres) 사용자의 비밀번호를 설정합니다.

ALTER USER postgres PASSWORD 'newpassword';

newpassword 부분은 반드시 자신만의 강력한 비밀번호로 교체하세요. 설정이 끝나면 exit를 입력해 대화형 셸을 종료합니다.

이후 다음 명령어로 psql에 다시 로그인합니다.

psql -U postgres -h localhost

프롬프트가 나타나면 새로 설정한 비밀번호를 입력하면 됩니다.

3단계: PostgreSQL 서버에 연결

PostgreSQL을 설치하면 기본 사용자 postgres와 동일한 이름의 시스템 계정이 자동으로 생성됩니다. PostgreSQL 서버에 연결하려면 이 postgres 사용자로 로그인해야 합니다.

다음 명령어로 PostgreSQL 서버에 로그인합니다.

sudo su postgres

명령어를 실행하면 호스트명 표시 방식이 바뀌는 것을 바로 확인할 수 있습니다. bash 프롬프트는 다음과 같이 표시됩니다.

postgres@ubuntu:/home/winibhalla/Desktop$

이렇게 표시되면 PostgreSQL 사용자로 성공적으로 로그인한 것입니다.

PostgreSQL 사용자 관리 방법

서버에 연결했다면 이제 새 사용자를 만들 차례입니다. 터미널에 psql을 입력하면 PostgreSQL 서버에서 명령어를 실행할 수 있습니다.

새 사용자 생성

프로젝트에 여러 팀원이 서로 다른 역할로 참여한다면, 구성원별로 사용자를 만들고 권한을 나누어 부여하는 것이 좋습니다. CREATE USER 명령어로 새 사용자 프로필을 생성합니다.

CREATE USER user1 WITH PASSWORD 'test123';

위 명령어에서 user1은 새 사용자 이름, test123은 해당 사용자의 비밀번호입니다.

데이터베이스에 추가된 사용자 목록은 \du 명령어로 확인할 수 있습니다.

출력 결과에서 볼 수 있듯이 새로 생성한 사용자에게는 아직 어떤 권한도 부여되어 있지 않습니다.

새 사용자에게 슈퍼유저 권한 부여

새 사용자에게 권한을 추가하려면 다음 명령어를 실행합니다.

ALTER USER user1 WITH SUPERUSER;

ALTER 명령어는 해당 멤버에게 관리자 권한을 부여합니다. \du 명령어를 다시 실행해 슈퍼유저 권한이 제대로 적용되었는지 확인하세요.

사용자 목록에서 사용자 삭제

권한 있는 사용자 목록에서 특정 사용자를 제거하려면 다음 명령어를 사용합니다.

DROP USER user1;

\du 명령어로 사용자 목록을 조회해 변경 사항을 확인할 수 있습니다.

PostgreSQL 데이터베이스 관리 방법

PostgreSQL은 데이터베이스를 생성하고 삭제할 수 있는 다양한 명령어를 제공합니다.

데이터베이스 추가 및 삭제

새 데이터베이스를 생성하려면 다음 명령어를 사용합니다.

CREATE DATABASE db1;

여기서 db1은 생성하려는 데이터베이스 이름입니다. \l 명령어를 입력하면 사용 가능한 모든 데이터베이스 목록을 확인할 수 있습니다.

데이터베이스를 삭제할 때는 DROP 명령어를 사용합니다.

DROP DATABASE db1;

사용자에게 데이터베이스 접근 권한 부여

GRANT 명령어로 특정 사용자에게 데이터베이스 접근 권한을 부여할 수 있습니다.

GRANT ALL PRIVILEGES ON DATABASE db1 TO user1;

PostgreSQL 명령줄 도움말 보기

PostgreSQL과 다양한 명령어 사용법을 더 깊이 알고 싶다면 터미널에서 다음 명령어로 도움말 페이지를 열어보세요.

man psql

추천 단계: pgAdmin 설치

pgAdmin을 함께 설치하는 것도 추천합니다. pgAdmin은 PostgreSQL용으로 가장 널리 쓰이는 오픈소스 관리 도구 중 하나로, 풍부한 기능을 갖추고 있습니다. 필수 단계는 아니지만, 사용자와 데이터베이스를 더욱 편리하게 관리하려면 설치하는 것이 좋습니다.

먼저 공식 pgAdmin 저장소와 서명 키를 시스템에 추가합니다.

curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key add
sudo sh -c 'echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'

데스크톱 버전을 설치하려면 다음 명령어를 실행합니다.

sudo apt install pgadmin4-desktop

웹 버전을 설치하려면 다음을 입력합니다.

sudo apt install pgadmin4-web

웹 모드를 구성하려면 pgAdmin에서 제공하는 setup-web.sh 스크립트를 실행합니다.

sudo /usr/pgadmin4/bin/setup-web.sh

화면에 표시되는 지침에 따라 과정을 마무리하면 됩니다. 이 작업은 한 번만 수행하면 되므로 매번 설치하고 설정할 걱정은 없습니다.

Ubuntu에서 PostgreSQL로 데이터베이스 관리하기

PostgreSQL은 데이터베이스 관리 애플리케이션을 만들기 위한 강력한 플랫폼입니다. 어떤 규모의 데이터든 처리할 수 있다는 점이 가장 큰 강점 중 하나입니다. 설치 과정은 초기 다운로드, 설치, 그리고 데이터베이스 로그인으로 요약할 수 있습니다.

몇 가지 간단한 명령어만 익히면 새 사용자 추가, 데이터베이스 생성, 기존 데이터베이스에 사용자 추가 등의 작업을 손쉽게 처리할 수 있습니다. PostgreSQL이 마음에 드는지 확신이 서지 않는다면 Microsoft SQL Server를 머신에 설치해 비교해 보는 것도 좋은 방법입니다.