harbor数据库迁移(相同版本间迁移)
一、数据导出(旧harbor机)
1、进入数据库容器
[root@localhost ~]#docker exec -u root -it d53efe26b3da /bin/bash
1
2、导出registry数据库
**root [** / **]#** pg_dump -U postgres registry > registry.sql
**root [** / **]#** exit
123
3、从容器中拷贝出registry.sql到本机/root目录下
[root@localhost ~]# docker cp d53efe26b3da:/registry.sql /root
1
4、上传registry.sql 到新建harbor机/root目录下
[root@localhost ~]# scp /root/registry.sql [email protected]:
1
二、导入数据(新harbor机)
1、registry.sql拷贝到容器里
[root@localhost ~]# docker cp registry.sql c8fd27af9ff7:/
1
2、进入容器里
[root@localhost ~]# docker exec -u root -it c8fd27af9ff7 /bin/bash
1
3、进入数据库
**root [** / **]#** psql -U postgres
psql (13.4)
Type "help" for help.
postgres=#
123456789
4、删除数据库
postgres=#drop DATABASE registry;
1
会报错:
ERROR: database "registry“ is being accessed by other users
DETAIL: There are 3 other sessions using the database.
123
解决:执行如下命令,可反复执行,直到不出现上述报错
SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE datname='registry' AND pid<>pg_backend_pid();
12345
5、创建数据库
postgres=# create database registry;
postgres=# exit
123
6、导入数据
[root@localhost ~]#docker exec -u root -it d5refe26b2422 /bin/bash标签:postgres,harbor,数据库,registry,sql,迁移,root,localhost From: https://www.cnblogs.com/sj5426/p/17368732.html
**root [** / **]#**psql -U postgres registry < registry.sql
123