[Filezila를 이용해 터미널에서 backup 파일 가져오는 방법]
1. filezilla 를 설치 후, 기존 서버에서 backup 파일을 가져온다


2. 새로운 서버에 PSQL 16 설치 후 back up 파일 dump 하기
1) PostgreSQL 16 설치
#PostgreSQL 16 APT 저장소 추가하기
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
#PostgreSQL 16 설치
sudo apt install -y postgresql-16

2) 기본 세팅하기
1. PostgreSQL이 외부 연결을 허용하도록 pg_hba.conf 파일을 수정
sudo nano /etc/postgresql/16/main/pg_hba.conf
host all all 0.0.0.0/0 md5
2. PostgreSQL이 수신하는 IP 주소를 설정하기 위해 postgresql.conf 파일을 수정
sudo nano /etc/postgresql/16/main/postgresql.conf
listen_addresses = '*'
3) 방화벽 세팅하기
서버에 방화벽 5432 접근 허용 설정해주기
(방화벽 규칙 생성 + 서버 네트워크 태그 추가)


4) DB 접속 및 생성하기
#1. PostgreSQL에 접속하기
sudo -u postgres psql
#2. 새로운 데이터베이스 생성하기
CREATE DATABASE tenedb;
#3. 사용자 설정하기
ALTER USER postgres WITH PASSWORD '1234';
#4. 데이터베이스 소유자 설정하기
ALTER DATABASE tenedb OWNER TO postgres;

#새로운 유저 만들어서 새로 만든 디비에 권한주기
CREATE USER goodboy WITH PASSWORD '1234';
ALTER USER goodboy WITH
SUPERUSER,
CREATEDB,
CREATEROLE,
REPLICATION,
BYPASSRLS;
ALTER DATABASE tnsdb OWNER TO goodboy;
6) 명령어
[\du] 명령: 생성된 유저를 확인

[\l] 명령: 생성된 DB를 확인

[터미널에서 DUMP 하는 방법]
*pgadmin4에서 하는 것을 추천한다
[yjin@good--boy ~]$ sudo -i
#user yjin으로 접속
[root@good--boy ~]# su yjin
#backup 파일 restore 하는 법
[yjin@good--boy ~]$ pg_restore -U yjin -d tenedb /home/yjin/backup/202408.backup
#tenedb에 접속
[yjin@good--boy root]$ psql -U yjin -d tenedb
tenedb-# \dt
[Pgadmin4에서 DUMP 하는 방법]
1) download > dump 폴더 만들기
1. server > 백업할 DB 우클릭 > Backup... 클릭
2. Filename .. 클릭하여 저장할 경로(dump 폴더) 지정 후, 뒷 부분 확장명 ".backup"으로 변경
3. options에서 아래와 같이 세팅


2) 기존 서버와 새서버 둘 다 Login/Group Roles와 properties를 동일하게 맞춰준다.

3) 기존 서버와 새서버 둘 다 스키마의 public propierties를 동일하게 맞춰준다.

4) 데이터베이스에 restore을 누른 후 backup 파일을 선택해주고 아래와 같이 설정해준다.


5) 결과 확인
아래와 같이 구조와 데이터 모두 잘 들어간 것을 볼 수 있다.

'DB' 카테고리의 다른 글
| 1장. 데이터베이스 시스템 (0) | 2025.03.21 |
|---|