按顺序完成如下操作: 1)创建永久备份设备:XXX_backup1,XXX_backup2;(4分)(XXX表示姓名首字母) 2)将"sdb_XXX"数据库完整备份到XXX_backup1上;(3分) 3)在student_XXX表中插入一行新的记录,然后将"sdb_XXX"数据库差异备份到XXX_backup2上;(5分) 4)再将新插入的记录删除;(3分) 5)利用所做的备份恢复"sdb_XXX"数据库。恢复完成后,在student_XXX表中有新插入的记录吗?为什么?(10分)
时间: 2024-02-25 16:56:25 浏览: 152
好的,我会根据您的要求进行回答。
1)创建永久备份设备:A_backup1,A_backup2;
(注:如果您的姓名首字母不是A,请将A替换为您的姓名首字母)
命令如下:
```
CREATE DATABASE A_backup1;
CREATE DATABASE A_backup2;
```
2)将"sdb_A"数据库完整备份到A_backup1上;
命令如下:
```
pg_dump sdb_A > A_backup1/sdb_A.backup
```
3)在student_A表中插入一行新的记录,然后将"sdb_A"数据库差异备份到A_backup2上;
命令如下:
```
INSERT INTO student_A (name, age, gender) VALUES ('John', 20, 'Male');
pg_dump -a sdb_A --exclude-table-data=student_A > A_backup2/sdb_A_diff.backup
```
4)再将新插入的记录删除;
命令如下:
```
DELETE FROM student_A WHERE name = 'John';
```
5)利用所做的备份恢复"sdb_A"数据库。恢复完成后,在student_A表中有新插入的记录吗?为什么?
恢复命令如下:
```
psql -d sdb_A -f A_backup1/sdb_A.backup
```
恢复完成后,在student_A表中没有新插入的记录。因为我们在第4步中已经将新插入的记录删除了,而差异备份只备份了表结构和数据,没有备份删除操作,所以恢复时并未还原该记录。
阅读全文