0


基于Red Hat Enterprise Linux 7操作系统的PostgresSql15的备份恢复(实践笔记)

零、前言

本文是基于阿里云ECS服务器进行的实践操作,操作系统版本:Red Hat Enterprise Linux 7
PG数据库版本:PostgresSql 15
PG安装方式:yum
由于本人新接触pg数据,本次也是出于好奇,就对pg数据库的pg_dump备份操作进行了一次试验,操作过程可能有些不当,敬请谅解。
本文只供留做笔记或新手作为参考,不作为技术指导类文章。操作需具备pg基础及linux基本操作知识。

一、备份

--- 1.1、首先新建备份sql输出的目录并授权# root用户操作[root@wstech~]# mkdir -p /usr/pgsql-15/backup--- 1.2、备份操作-- 切换postgres用户
su - postgres

cd /usr/pgsql-15/bin
--- 1.3、执行备份:注意文件目录——可执行命令的目录以及输出备份文件的目录,不然恢复的时候找不到。另外需要注意输出目录的磁盘余量。-bash-4.2$ ./bin/pg_dump mydb >./backup/mydb.sql--- 1.4、查看文件-bash-4.2$ cd pgsql-15/backup/-bash-4.2$ ll
total 4-rw-r--r-- 1 postgres postgres 1073 Aug 26 23:42 mydb.sql--- 1.5、查看备份文件sql文本内容-bash-4.2$ cat mydb.sql---- PostgreSQL database dump---- Dumped from database version 15.4-- Dumped by pg_dump version 15.4SET statement_timeout =0;SET lock_timeout =0;SET idle_in_transaction_session_timeout =0;SET client_encoding ='UTF8';SET standard_conforming_strings =on;SELECT pg_catalog.set_config('search_path','',false);SET check_function_bodies =false;SET xmloption = content;SET client_min_messages = warning;SET row_security =off;SET default_tablespace ='';SET default_table_access_method = heap;---- Name: weather_info; Type: TABLE; Schema: public; Owner: postgres--CREATETABLEpublic.weather_info (
    city charactervarying(80),
    temp_lo integer,
    temp_hi integer,
    prcp real,datedate);ALTERTABLEpublic.weather_info OWNER TO postgres;---- Data for Name: weather_info; Type: TABLE DATA; Schema: public; Owner: postgres--

COPY public.weather_info (city, temp_lo, temp_hi, prcp,date)FROM stdin;
US      46500.251994-11-27
UK      435701994-11-29
Hayward 3754      \N      1994-11-29
\.---- PostgreSQL database dump complete----- 1.6、删除数据库mydb-bash-4.2$ dropdb mydb;-bash-4.2$ psql
psql (15.4)Type"help"for help.--- 1.7、查看是否删除成功(已经没有了,说明删除成功了)
postgres=# \l
                                                 List ofdatabases
   Name    |  Owner   | Encoding |Collate|    Ctype    | ICU Locale | Locale Provider |   Access privileges-----------+----------+----------+-------------+-------------+------------+-----------------+-----------------------
 dbname    | postgres | UTF8     | en_US.UTF-8| en_US.UTF-8|| libc            |
 dengyu    | postgres | UTF8     | en_US.UTF-8| en_US.UTF-8|| libc            |
 postgres  | postgres | UTF8     | en_US.UTF-8| en_US.UTF-8|| libc            |
 template0 | postgres | UTF8     | en_US.UTF-8| en_US.UTF-8|| libc            |=c/postgres          +||||||| postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8| en_US.UTF-8|| libc            |=c/postgres          +||||||| postgres=CTc/postgres
(5rows)

在这里插入图片描述

二、恢复

--- 2.1、新建目标库newdb数据库-bash-4.2$ createdb newdb;--- 2.2、进入psql可执行文件目录(bin目录)-bash-4.2$ cd /usr/pgsql-15/-bash-4.2$ ls
backup  bin  lib  share--- 2.3、恢复-- 执行恢复(注意可执行文件路径及备份文件路径)-bash-4.2$ ./bin/psql newdb <./backup/mydb.sqlSETSETSETSETSET
 set_config
------------(1row)SETSETSETSETSETSETCREATETABLEALTERTABLE
COPY 3-bash-4.2$

--- 2.4、恢复完成后链接数据库-bash-4.2$ psql
psql (15.4)Type"help"for help.--- 2.5、切换到newdb数据库
postgres=# \c newdb
You are now connected todatabase"newdb"asuser"postgres".--- 2.6、看数据库中表信息
newdb=# \d
            List of relations
 Schema|     Name     |Type|  Owner
--------+--------------+-------+----------public| weather_info |table| postgres
(1row)--- 2.7、查询newdb中恢复的表weather_info的数据
newdb=# select * from weather_info;
  city   | temp_lo | temp_hi | prcp |date---------+---------+---------+------+------------
 US      |46|50|0.25|1994-11-27
 UK      |43|57|0|1994-11-29
 Hayward |37|54||1994-11-29(3rows)

newdb=#

在这里插入图片描述
在这里插入图片描述

标签: linux 笔记 运维

本文转载自: https://blog.csdn.net/dengyu810/article/details/132517644
版权归原作者 山与海丫 所有, 如有侵权,请联系我们删除。

“基于Red Hat Enterprise Linux 7操作系统的PostgresSql15的备份恢复(实践笔记)”的评论:

还没有评论