오늘은 PostgreSQL에 대해 배워봤습니다. 항상 Aurora를 사용할 때 PostgreSQL을 사용할 줄 몰라 MySQL을 선택했는데, PostgreSQL의 수요가 증가하는만큼 배워야겠다는 생각을 했습니다. 마침 2023년 8월에 생활코딩님 유튜브로 PostgreSQL 강좌가 올라와 입문수업을 듣게 되었습니다.
1. 개념
PostgreSQL은 서버 - 클라이언트 구조를 가집니다.
PostgreSQL 서버는 데이터를 보관하고 관리하는 프로그램입니다.
사용자들은 PostgreSQL 클라이언트를 이용하여 서버가 관리하는 데이터에 접근할 수 있습니다.
GUI 클라이언트로 pgAdmin 4가 있으며, CLI 클라이언트로 psql이 있습니다.
이러한 서버 - 클라이언트 구조 덕분에 서버가 다른 컴퓨터에 있더라도 클라이언트를 이용하여 접속할 수 있습니다.
PostgreSQL은 관계형 데이터베이스이기 때문에 Table로 이루어지게 됩니다. 또한, 하나의 애플리케이션을 만들기 위해서는 여러 개의 Table이 필요합니다.
이때, 연관된 여러 Table을 그룹핑해서 이름을 붙인 것을 Schema라고 합니다.
Schema의 양이 많아지면 그것을 관리하기 위해 있는 그룹이 Database입니다.
같은 컴퓨터에 존재하는 여러 개의 데이터베이스를 묶은 것을 Cluster(Database Server)라고 합니다.
관계형 데이터베이스는 SQL이라는 언어를 사용하여 서버를 조작합니다. PostgreSQL에서 SQL을 사용해 Table을 다음 순서로 제어하게 됩니다.
- 클라이언트는 먼저 Cluster에 접속합니다.
- 그 후에, Database와 Schema를 차례로 선택합니다.
- Table을 대상으로 필요한 명령을 보냅니다.
- SQL을 전달받은 Database Server는 사용자가 요청한 작업을 처리한 후, 그 결과를 클라이언트에게 보냅니다.
2. 설치
로컬 서버 설치를 진행하려면 PostgreSQL 다운로드 홈페이지로 접속합니다.
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
Community DL Page
Note: EDB no longer provides Linux installers for PostgreSQL 11 and later versions, and users are encouraged to use the platform-native packages. Version 10.x and below will be supported until their end of life. For more information, please see this blog p
www.enterprisedb.com
운영체제에 맞게 최신버전 설치파일을 다운로드합니다.
설치파일을 실행한 후 Next를 누릅니다.
설치 경로를 설정해줍니다.
Stack Builder을 제외한 모든 항목에 체크합니다. PostgreSQL Server는 서버이고, pgAdmin 4와 Command Line Tools는 클라이언트입니다.
데이터를 저정할 디렉터리도 지정해줍니다.
데이터베이스에 접속할 때 사용할 비밀번호를 입력합니다. 이 비밀번호는 반드시 기억해야 합니다.
포트는 기본인 5432로 설정하겠습니다.
지역은 Korean, Korea로 지정해줍니다. 혹은 Default로 설정해도 상관없습니다.
계속해서 Next를 누르면 설치가 진행됩니다.
설치가 성공적으로 완료되었습니다.
로컬 서버를 설치하지 않고, 클라이언트만 설치해서 RDS와 연결하는 방식을 선택해도 됩니다.
3. 접속
pgAdmin
pgAdmin 4에 접속하여 Add New Server을 누릅니다.
서버의 이름을 지정해줍니다.
Connection 메뉴를 클릭한 후, Host name / address와 Password를 설정합니다. RDS를 사용한다면 Host name / address에 RDS Endpoint를 입력하면 됩니다. 설정에 따라 Port, Username 등을 지정해줄수도 있습니다.
Save를 누르면 접속이 성공적으로 됩니다.
psql
PATH에 '설치경로\bin'을 등록합니다.
터미널에 접속하여 다음과 같이 명령어를 입력합니다. host에 RDS Endpoint를 입력하면 됩니다.
psql --host=localhost --port=5432 --username=postgres --dbname=postgres
설정에 따라 기본값이면 host, port, dbname 옵션은 생략해도 됩니다.
psql --username=postgres
성공적으로 데이터베이스에 연결되었습니다.
PS C:\Users\User> psql --host=localhost --port=5432 --username=postgres --dbname=postgres
postgres 사용자의 암호:
psql (16.0)
도움말을 보려면 "help"를 입력하십시오.
postgres=#
오늘의 글은 여기까지입니다. 다음 글에서 이어지겠습니다!
참고
https://www.youtube.com/watch?v=dKuLA5BGPTY
'Database' 카테고리의 다른 글
[Database] PostgreSQL 입문 (with 생활코딩) - (3) CRUD (0) | 2023.10.08 |
---|---|
[Database] PostgreSQL 입문 (with 생활코딩) - (2) Database, Schema, Table 생성 (0) | 2023.10.07 |