2024-08-06 05:24PM
1. 查看 docker 中运行的 postgres
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f7dc4dbdf06e postgres "docker-entrypoint.s…" 18 hours ago Up 5 hours 5432/tcp objective_jang
2. 将本地 /tmp/ 文件夹下面的 20240805.sql 文件复制到 Docker 容器中
sudo docker cp ./tmp/20240805.sql f7dc4dbdf06e:/tmp/
3. 进入 Docker 容器的 bash 终端
sudo docker exec -it f7dc4dbdf06e /bin/bash
4. 在容器内部使用 psql 命令连接 PostgreSQL 数据库
psql -U postgres
5. 删除 dongtaipaifang 数据库
DROP DATABASE IF EXISTS dongtaipaifang;
5.1 如果报错说:
ERROR: database "dongtaipaifang" is being accessed by other users
DETAIL: There is 1 other session using the database.
则使用下面这个命令:
SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = 'dongtaipaifang';
然后再重新删除数据库
postgres=# DROP DATABASE IF EXISTS dongtaipaifang;
DROP DATABASE
6. 创建 dongtaipaifang 数据库
CREATE DATABASE dongtaipaifang;
7.退出psql
会话
postgres=# \q
7. 将 SQL 文件导入 dongtaipaifang 数据库
root@4510a9e8d123:/# psql -U postgres -d dongtaipaifang -f /tmp/20240805.sql
登录
请登录后再发表评论。
评论列表:
目前还没有人发表评论