Postgre SQL

yoon__0_0·2024년 5월 13일
0

이어드림 수업

목록 보기
25/103

Postgre SQl

PostgreSQL 다운 및 실행

1) 다운로드 명령어

# Import the repository signing key:
sudo apt install curl ca-certificates
sudo install -d /usr/share/postgresql-common/pgdg
sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc

# Create the repository configuration file:
sudo sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

# Update the package lists:
sudo apt update

# Install the latest version of PostgreSQL:
# If you want a specific version, use 'postgresql-16' or similar instead of 'postgresql'
sudo apt -y install postgresql

2) 작동 확인

sudo systemctl status postgresql.service

  • 사진처럼 나오면 잘 작동하는 것

3) postgresql 계정으로 들어가기

sudo -i -u postgres

4) psql로 들어가기

psql

5) psql 종료

\q

6) postgres 계정에서 나오기

exit

PostgreSQL 실습

1) 데이터 베이스 목록 확인(psql에서 실행)

\list

2) 대화형 Role 추가 (postgres 계정에서 실행)

createuser --interactive

2-1) role 확인 (qsql)

\du

3) password 설정 (psql)

  • postgres 계정을 'pstgres'라는 패스워드로 설정하겠다는 것.
ALTER USER postgres WITH PASSWORD 'pstgres';

4) database 만들기 (psql)

CREATE DATABASE {database 이름}

5) DB 연결 (psql)

\c {database이름}

6) table 생성(psql)

  • (~) 에는 만들 table 속에 들어갈 열의 속성들이 포함되면 됨
CREATE TABLE table_name(~);

7) 테이블 조회

\dt

8) 쿼리


  • 6~ 8 번의 스샷

PostgreSQL 권한 설정

  • EC2에 있는 PostgreSQL에 내 네트워크 상에 있는 사람들은 모두 접근할 수 있게 만들고 싶다.
  • 접근 권한 설정이 필요 : EC2 접근권한, postgresql 접근 권한

postgreSQL의 접근 권한 변경

1)portgresql의 port 번호 확인하기

cd /etc/postgresql/16/main/ && ll
cat postgresql.conf | grep port
  • port번호를 5432를 확인하는 것을 확인할 수 있음

2) 설정 값 변경

  • postgresql.conf의 값을 변경
  • 원래 default값은 listen_addresses 가 주석처리 되어있음 => 아무도 들어올 수 없는 설정값(나만 들어올 수 있음)
  • 이를 모두가 들어갈 수 있도록 주석처리 풀어주기

|

3) 설정값 변경 2

  • pg_hba.conf의 값을 변경
  • 원래는 IPv4 local connections이 loopback ip인 127.0.0.1으로만 허용되어있는것을 확인할 수 있음
  • 이 아래에 0.0.0.0/0 추가해주기
  • 추가된 사진

4) 프로그램 수정 후에는 꼭 프로세스 재시작

sudo systemctl restart postgresql

5) 확인해보기

  • IP가 모두가 들어 올 수있게 변경되었는지 확인하기
netstat -nap | grep 5432
변경 전변경 후

EC2 접근 권한 변경

  • 보안그룹에서 inbound 규칙 추가해주기
  • port 번호는 위에서 확인했던 postgresql의 port번호 열어주기
  • Source type을 내 IP로 설정해주면 이는 나의 공인 IP로 설정되기 때문에 나와 공인 IP가 같다면 모두 들어갈 수 있음.

profile
신윤재입니다

0개의 댓글