Journal 6 数据库备份

数据同步

今天我要写一个脚本来把开发服数据库的某些数据同步到测试服务器,找了一些方法,最后由于时间限制,还是选择了成本最低的pg_dump、pg_restore。
@echo off set TARGET_SHEET=%1 set FROM_URL= set PGSQL_PORT= set PGSQL_DB= set PGSQL_USER= set PGPASSWORD= pg_dump -h %FROM_URL% -U %PGSQL_USER% -p %PGSQL_PORT% -Fc -a -t %TARGET_SHEET% -f %TARGET_SHEET%.dump %PGSQL_DB% @echo %TARGET_SHEET% saved! set TO_URL= set PGPASSWORD= set PGSQL_USER= pg_restore -h %TO_URL% -p %PGSQL_PORT% -U %PGSQL_USER% -a -t %TARGET_SHEET% -d %PGSQL_DB% %TARGET_SHEET%.dump @echo %TARGET_SHEET% restored! @echo on
但是我认为尽可能最大化使用健全的工具来进行数据库管理是很关键的一部分,所以先把相关的链接贴在这里,方便以后回看学习。
2023年3月14日
听同事说Sqoop可以用来迁移数据,有时间的话好好学习一下

健全的迁移脚本(相对)

我昨天使用python在之前的脚本基础上写了一个一行迁移的方案,然后用class包装了一下方便以后继承使用。
有时间的时候同步到github上好了。
大概用法就是shit (db_name [table_name …])
第一个参数是database的名字
后面的参数是不定长参数数组,为想要转移的表名称。
另外我稍微修改了一下bat脚本的内容来适配新迁移程序