PostgreSQL 백업 및 복구

DATABASE 및 TABLE 백업 / 복구



백업


superuser 계정으로 접속



문법>


pg_dump [DATABASE명] -t [TABLE명] > [저장 될 DUMP FILE명]



예)


[postgres@test data]$ pg_dump pgsqldb -t tb_test > PGSQL_tb_test_20090830.dump

[postgres@test data]$



복구


superuser 계정으로 접속



문법>


psql -f [FILE명] [DATABASE명]



예)

[postgres@test data]$ psql -f PGSQL_tb_test_20090830.dump pgsqldb

SET

SET

SET

SET

SET

SET

SET

SET

CREATE TABLE

ALTER TABLE

[postgres@test data]$




전체 DATABASE 백업 / 복구



백업


superuser 계정으로 접속



문법>


pg_dumpall > [저장 될 DUMP FILE명]



예)


[postgres@test data]$ pg_dumpall > PGSQL_all_20090830.dump

[postgres@test data]$



복구


superuser 계정으로 접속



문법>


psql -f [FILE명] template1




예)


[postgres@test data]$ psql -f PGSQL_all_20090830.dump template1

SET

SET

SET

CREATE TABLE

ALTER TABLE

...

[postgres@test data]$



백업 스크립트


#!/bin/bash

#This script creates backup of your postgresql databases,

#you can select databases you want/dont want,

#script will send e-mail to you when needed.


#I need user and password

export PGUSER=postgres

export PGPASSWORD=


DBNAME=abcd


#Where should i save pg dump-s?

TARGET=/mnt/seeme


#Give pg_dump location

PGDUMP=/usr/lib/postgresql/9.3/bin/pg_dump

#Give me psql location

PSQL=/usr/lib/postgresql/9.3/bin/psql

#Give me psql connection port

PORT=5432


BEFOREDATE=$(date '+%Y-%m-%d' -d '10 day ago')

rm -rf $TARGET/abcd-$BEFOREDATE.sql


$PGDUMP -h 127.0.0.1 -p $PORT -U $PGUSER -d $DBNAME -f $TARGET/abcd-`date +%Y-%m-%d`.sql

'Database > PostgreSQL' 카테고리의 다른 글

pgadmin4 설치  (0) 2018.12.03
PostgreSQL 11 설치  (0) 2018.12.03
PostgreSQL 백업 및 복구  (0) 2018.11.24
PostgreSQL 소스 코드로 설치  (0) 2018.04.03
PostgreSQL 버그 리포팅 가이드 라인  (0) 2018.04.03
PostgresSQL 이란?  (0) 2018.04.03