개발/개발환경구성(macOS)

AI Copilot Dev#1 - PostgreSQL 로컬 개발 환경 구축 (MacOS)

sftth-main 2025. 12. 31. 21:42
반응형

본 문서는 AI Copilot을 이용한 개발을 위한 설명 전 단계로 MacOS Sequoia 15.6.1 환경에서 로컬 개발을 위한 PostgreSQL 데이터베이스 구축 및 클라이언트 연결 과정을 다룹니다.

1. 개요 및 환경

 

  • 목적: 신규 프로젝트 개발을 위한 로컬 DB 환경 구성
  • OS: MacOS Sequoia 15.6.1
  • DB: PostgreSQL (Latest Stable Version via Homebrew)
  • Client: DBeaver

2. PostgreSQL 설치 (Homebrew)

MacOS에서는 패키지 관리자인 Homebrew를 사용하여 설치하는 것을 권장합니다.

2.1 설치 명령어 실행

터미널(Terminal)을 열고 아래 명령어를 순차적으로 실행합니다.

# 1. Homebrew 패키지 목록 업데이트
brew update

# 2. PostgreSQL 설치 (특정 버전을 원할 경우 postgresql@14 와 같이 명시)
brew install postgresql

# 3. 서비스 시작 (Background Service로 등록하여 부팅 시 자동 실행)
brew services start postgresql

# 4. 설치 확인 (버전 정보 출력 확인)
postgres -V

 

3. Root(Superuser) 계정 설정

Homebrew로 설치 시, 기본적으로 현재 로그인한 OS 사용자 ID가 Superuser(관리자)로 설정되며 비밀번호는 없습니다. 보안 및 도구 접속을 위해 비밀번호를 설정합니다.

3.1 접속 및 비밀번호 변경

터미널에서 postgres 데이터베이스에 접속하여 설정을 진행합니다.

# 1. psql 콘솔 접속 (기본 데이터베이스인 'postgres'로 접속)
psql postgres

# 2. 프롬프트가 'postgres=#' 등으로 바뀌면 아래 SQL 실행
# (참고: Homebrew 설치 시 기본 사용자명은 본인의 Mac 사용자명입니다. 
#  확인이 필요하면 '\du' 명령어로 사용자 목록을 조회하세요.)

-- 문법: ALTER USER [사용자명] WITH PASSWORD '[비밀번호]';
-- 예시: 사용자명이 'chulsoo'이고 비밀번호를 'root1234'로 설정할 경우
ALTER USER chulsoo WITH PASSWORD 'root1234';

-- 만약 'postgres'라는 명시적 관리자 계정을 별도로 활성화하고 싶다면:
CREATE USER postgres WITH SUPERUSER PASSWORD 'root1234';

4. DB 생성

프로젝트에서 사용할 전용 데이터베이스를 생성합니다.

4.1 Database 생성 SQL

psql 콘솔 상태에서 계속 진행합니다.

-- 문법: CREATE DATABASE [DB명] ENCODING 'UTF8';
CREATE DATABASE dev_project_db ENCODING 'UTF8';

-- 생성 확인
\l

5. User 생성 및 권한 부여

애플리케이션(Spring Boot, Node.js 등)이나 팀원이 접속할 때 사용할 전용 계정을 생성하고, 위에서 만든 DB에 대한 권한을 부여합니다.

5.1 User 생성 SQL

-- 1. 유저 생성
-- 문법: CREATE USER [유저명] WITH PASSWORD '[비밀번호]';
CREATE USER dev_user WITH PASSWORD 'pass1234';

-- 2. 권한 부여 (해당 DB에 대한 모든 권한)
-- 문법: GRANT ALL PRIVILEGES ON DATABASE [DB명] TO [유저명];
GRANT ALL PRIVILEGES ON DATABASE dev_project_db TO dev_user;

-- 3. 스키마 사용 권한 (PostgreSQL 15 이상 버전에서 필요할 수 있음)
-- 먼저 해당 DB로 이동
\c dev_project_db

-- public 스키마에 대한 권한 부여
GRANT ALL ON SCHEMA public TO dev_user;

6. Table 생성 (테스트)

생성한 DB와 유저가 정상적으로 동작하는지 확인하기 위해 샘플 테이블을 생성합니다.

6.1 테이블 생성 및 데이터 입력

-- 1. 위에서 생성한 유저 권한으로 테이블 생성 (테스트용)
CREATE TABLE member (
    id SERIAL PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- 2. 더미 데이터 입력
INSERT INTO member (username, email) VALUES ('test_user_01', 'test01@example.com');
INSERT INTO member (username, email) VALUES ('test_user_02', 'test02@example.com');

-- 3. 조회 확인
SELECT * FROM member;

7. Client 도구(DBeaver) 접속

GUI 툴인 DBeaver를 사용하여 외부에서 접속이 가능한지 최종 확인합니다.

7.1 연결 설정 정보

DBeaver 실행 후 New Database Connection -> PostgreSQL을 선택하고 아래 정보를 입력합니다.

항목 설정 값 비고
Host localhost 로컬 환경
Port 5432 기본 포트
Database dev_project_db 4번 항목에서 생성한 DB명
Username dev_user 5번 항목에서 생성한 유저명
Password pass1234 5번 항목에서 설정한 비밀번호

7.2 접속 테스트

  1. 좌측 하단 [Test Connection] 버튼 클릭.
  2. "Connected" 메시지가 뜨면 정상적으로 환경 구축이 완료된 것입니다.
반응형