备份数据库
第一步
选择支持ipv4的Transaction pooler

免费版supabase未发现可以整体备份的选项,只能单个table备份,为了备份schema,只能在本地计算机里执行pg_dump命令
第二步
下列命令二选一
pg_dump -h aws-1-ap-southeast-1.pooler.supabase.com -U postgres.pmbantlhqgwrkvjzavym -d postgres --schema=hghghg > hghghg_complete_backup.sql
上述命令输入回车后,会提示你输入数据库密码
pg_dump "postgresql://postgres.pmbantlhqgwrkvjzavym:替换你的数据库密码@aws-1-ap-southeast-1.pooler.supabase.com:6543/postgres" --schema=hghghg > hghghg_backup.sql
命令分解说明
-
-h aws-1-ap-southeast-1.pooler.supabase.com→ 主机地址 -
-p 6543→ 端口号(注意是6543不是默认的5432) -
-U postgres.pmbantlhqgwrkvjzavym→ 用户名(包含项目标识) -
-d postgres→ 数据库名 -
--schema=hghghg→ 指定备份的schema
重置数据库密码
如果忘了数据库密码,通过下方的方式重置


还原数据库,指定schema
下放命令会先清空该shema里的所有表,然后倒入备份的数据
psql "postgresql://postgres.pmbantlhqgwrkvjzavym:你的数据库密码@aws-1-ap-southeast-1.pooler.supabase.com:6543/postgres" -c "DROP SCHEMA IF EXISTS fbkk CASCADE;" -c "CREATE SCHEMA fbkk;" -c "SET search_path TO fbkk;" -f "xxx_backup.sql"
上述命令是把数据还原到schema为fbkk,还原前会把数据先清空,再还原
本地计算机的备份与还原
备份
pg_dump -h localhost -U postgres -d wp1020 -f 备份文件名.sql
还原
psql -h 主机名 -U 用户名 -d 数据库名 -f 备份文件.sql