海量数据库操作
vb_dump工具备份
示例
vb_dump -U username -W password -h hostname -p port -F c -f /home/bak/xj_zssj_backup.dmp xj_zssj
-U:数据库用户名(需有备份权限)
-W:用户密码
-h:数据库服务器地址(本地可省略)
-p:数据库端口(默认5432可省略)
-F c:指定自定义格式(压缩格式)
-f:指定输出文件路径
最后参数为要备份的数据库名
实际操作
vb_dump -U vastbase -W Xj@123456 -p 5432 -F c -f /home/vastbase/backup_test/xj_zssj_backup.dmp xj_zssj
{/collapse-item}
{collapse-item label="覆盖方式恢复"}
默认情况下,vb_restore不会自动覆盖现有数据库
如果需要完全覆盖,需要先清理目标数据库
推荐的安全操作步骤:
a) 首先删除现有数据库(确保已备份重要数据):
vsql -U vastbase -W Xj@123456 -p 5432 -c "DROP DATABASE xj_zssj;"
b) 创建新数据库:
vsql -U vastbase -W Xj@123456 -p 5432 -c "CREATE DATABASE xj_zssj;"
c) 执行恢复
vb_restore -U vastbase -W Xj@123456 -p 5432 -F c -d xj_zssj /home/vastbase/backup/xj_zssj_backup.dmp
# 1. 先断开所有连接到目标数据库的会话
vsql -U vastbase -W Xj@123456 -p 5432 -c "clean connection to all force for database xj_zssj;"
# 2. 再删除数据库
vsql -U vastbase -W Xj@123456 -p 5432 -c "DROP DATABASE xj_zssj;"
# 3. 创建新数据库
vsql -U vastbase -W Xj@123456 -p 5432 -c "CREATE DATABASE xj_zssj;"
# 4. 执行恢复
vb_restore -U vastbase -W Xj@123456 -p 5432 -F c -d xj_zssj /home/vastbase/backup/xj_zssj_backup.dmp
其他可能有用的参数:
-e 显示执行的SQL命令
-v 详细模式
-c 在恢复前清理数据库对象(但不包括数据库本身)
{/collapse-item}
草稿
备份
vb_dump -U vastbase -W Xj@123456 -p 5432 -F c -f /home/vastbase/backup_test/xj_zssj_sync_backup.dmp xj_zssj_sync
vb_dump -U vastbase -W Xj@zssj123 -p 5432 -F c -f /home/vastbase/backup_test/xj_zssj_backup.dmp xj_zssj
恢复
vb_restore -U vastbase -W Xj@123456 -p 5432 -F c -d xj_zssj /home/vastbase/backup_test/xj_zssj_backup.dmp
恢复到docker
vb_restore -U vastbase -W Xj@123456 -p 5432 -F c -d xj_zssj /home/vastbase/backup/xj_zssj_backup.dmp
{/collapse-item}
{collapse-item label="折叠标题二"}
sql黑屏执行
-- 1. 创建用户(Vastbase推荐使用CREATE USER)
CREATE USER ixjkj WITH PASSWORD 'Xj@123456';
-- 2. 授予系统管理员权限(避免使用SUPERUSER,改用SYSADMIN)
ALTER USER ixjkj WITH SYSADMIN;
-- 3. 创建数据库并指定所有者
CREATE DATABASE xj_zssj WITH OWNER ixjkj;
{/collapse-item}
评论 (0)