Postgresql/설치

postgresql 15 삭제 후 재설치

dbavayne 2025. 3. 10. 10:43

삭제

환경 : 우분투 

 

PostgreSQL 15 서비스 중지: PostgreSQL 15 서비스가 실행 중일 경우, 먼저 서비스를 중지해야 합니다.

sudo systemctl stop postgresql

 

PostgreSQL 15 패키지 제거: PostgreSQL 15 관련 패키지를 제거합니다. 이 명령은 PostgreSQL 관련 모든 패키지를 삭제합니다.

sudo apt-get --purge remove postgresql-15 postgresql-client-15 postgresql-common

 

PostgreSQL 데이터 및 설정 파일 삭제: PostgreSQL 데이터 디렉토리 및 설정 파일을 완전히 삭제하려면, 아래 명령어를 실행합니다

sudo rm -rf /var/lib/postgresql/15
sudo rm -rf /etc/postgresql/15
sudo rm -rf /var/log/postgresql
sudo rm -rf /var/run/postgresql

 

sudo apt-get autoremove --purge

 

sudo apt-get clean


설치

PostgreSQL 패키지 목록 업데이트: PostgreSQL 패키지 목록을 업데이트합니다.

sudo apt-get update

sudo apt-get install postgresql-15

 

sudo systemctl start postgresql

 

sudo systemctl enable postgresql

 

psql --version

 

sudoer 파일 추가

postgres ALL=(ALL) NOPASSWD:ALL

 

 


/home/lkmpg/reset_postgresql.sh

 

#!/bin/bash

# PostgreSQL 버전 및 경로 설정
PG_VERSION="15"
PG_CONF="/etc/postgresql/$PG_VERSION/main/postgresql.conf"
PG_HBA="/etc/postgresql/$PG_VERSION/main/pg_hba.conf"
PG_DATA="/var/lib/postgresql/$PG_VERSION/main"

# 사용자 권한 체크 (root 권한 필수)
if [[ $EUID -ne 0 ]]; then
    echo "이 스크립트는 root 권한으로 실행해야 합니다."
    exit 1
fi

echo "🚨 PostgreSQL $PG_VERSION 삭제 중..."

# PostgreSQL 서비스 정지
systemctl stop postgresql

# 기존 PostgreSQL 관련 패키지 제거
apt-get remove --purge -y "postgresql*" "postgresql-$PG_VERSION*" "postgresql-client-$PG_VERSION*" "postgresql-contrib-$PG_VERSION*" "libpq-dev"

# 데이터 디렉토리 및 설정 파일 삭제
rm -rf /etc/postgresql/
rm -rf /var/lib/postgresql/
rm -rf /var/log/postgresql/
rm -rf /usr/lib/postgresql/
rm -rf /usr/share/postgresql/

# PostgreSQL 패키지 목록 업데이트
echo "PostgreSQL 패키지 목록 업데이트 중..."
apt-get update

# PostgreSQL 및 관련 패키지 재설치
echo "PostgreSQL $PG_VERSION 재설치 중..."
apt-get install -y postgresql-$PG_VERSION postgresql-contrib-$PG_VERSION

# PostgreSQL 서비스 시작
echo "PostgreSQL 서비스 시작 중..."
systemctl start postgresql

# PostgreSQL 자동 시작 활성화
systemctl enable postgresql

# PostgreSQL 상태 확인
echo "PostgreSQL 상태 확인:"
systemctl status postgresql --no-pager

# 완료 메시지
echo "PostgreSQL $PG_VERSION 재설치 및 초기화 완료!"