Data/DB

Mac OS PostgreSQL 설치 방법(pgAdmin4, homebrew)

뚱요 2021. 7. 9. 00:01
반응형

PostgreSQL

PostgreSQL은 확장 가능성 및 표준 준수를 강조하는 객체-관계형 데이터베이스 관리 시스템

장점

  • ACID 및 트랜잭션 지원
  • 차별화된 확장 기능 제공

 

설치

설치 방법도 다양하지만 homebrew 이용하는 방법과 다운로드하고 설치하는 방법이 있다. 

방법 1. 간편하게 다운로드하여 설치

 

Download PostgreSQL

PostgreSQL Database Download

www.enterprisedb.com

PostgreSQL14.5 기준

자신의 OS에 맞게 파일을 다운로드 하고 실행하면 저장 경로 설정하고 컴포넌트 선택에서 서버, 어드민, 스택빌더 , clt 모두 선택합니다.( 선택해서 설치 할지 여부 결정 가능)

접속 비밀 번호 설정, 포트 번호 설정(기본 5433), 기본 지역값default locale 으로 지역값 설정해주면 설치 시작하게 됩니다.

설치 완료하고 pgAdmin 4를 실행하면 마스터 패스워드 설정하고 Add New Server로 새 서버 생성한다.

  • General > Name : 서버이름 지정하기
  • host : localhost
  • username : 생성한 유저네임

입력만 하면 연결되어 하단과같은 하면으로 바뀜

방법2. homebrew 이용해서 설치

1. homebrew 최신버전 업데이트

 brew update
 brew doctor

2. Postgre SQL 설치

brew install postgresql

업데이트 해야하는 경우 제거하고 재설치

설치된 psql과 폴더 제거

brew remove --force postgresql
rm -rf /usr/local/var/postgres/

재설치

brew install postgresql
brew services start postgresql

 

 

3. 시작

brew services start postgresql@14
#==> Successfully started `postgresql@14` (label: homebrew.mxcl.postgresql@14)

 

4. 버전 확인

postgres -V
#postgres (PostgreSQL) 14.5 (Homebrew)

postgres 유저로 접속

sudo -u postgres psql

비밀번호 설정/변경

\password postgres

ALTER USER postgres PASSWORD '새비밀밀번호';

sudo -u postgres psql -c "ALTER USER postgres PASSWORD '새비밀밀번호';"

 

유저 생성

 

1. 특정 유저로 접속

기본 posegres유저 접속방법(비밀번호 설정되어 있지 않은 경우)

psql postgres

 

지정한 유저로 접속 방법

psql –U {user} –d {password}

 

2. 현재 데이터 베이스의 각 역할(role)과 해당 속성을 보여줌

관리자 권한으로 접속해야 권한 생성, 유저 추가 가능

\du

3. 유저 생성

 CREATE USER 새유저이름 WITH {CREATEDB REPLICATION } PASSWORD '새유저의비밀번호';
 
 CREATE ROLE 새유저이름 WITH {CREATEDB REPLICATION } PASSWORD '새유저의비밀번호';
  • CREATE USER 와 CREATE ROLE 차이
  • CREATE USER  LOGIN 옵션이 기본적으로 추가 된 것


권한 옵션

  • SUPERUSER 제한없는 유저
    • NOSUPERUSER(디폴트)
  •  CREATEDB   DB 생성 권한
    •  NOCREATEDB(디폴트)
  •  CREATEROLE  역할 생성,수정,삭제 권한
    • NOCREATEROLE(디폴트)
  •  INHERIT(디폴트)  다른 구성원들에게 상속할 수 있는지 여부
    •  NOINHERIT 
  • LOGIN 처음 세션에 접속가능한 권한
    • NOLOGIN
  •  REPLICATION 복제 권한 여부
    •  NOREPLICATION(디폴트)

 

데이터베이스

데이터베이스 생성

CREATE DATABASE {데이터베이스 이름} ENCODING 'utf-8';

데이터베이스 삭제

drop database {데이터베이스 이름};

psql 끝내기

\q
반응형