postgresql - pg_dump 在容器内冻结
问题描述
我有一个 Docker 容器,里面有一个 bash 脚本。bash 脚本执行一个 pg_dump,它在 gsutil 中通过管道传输。这个想法是在 GCP 的云存储中转储一些表。
当我从我的计算机执行脚本时,它可以正常工作,但是当它在我的容器中运行时,它会冻结。我的容器基于 alpine3.9,并且正确安装了 postgresql-client 和 google-cloud-sdk。
这是有问题的脚本的代码片段:
export PGPASSWORD="${PROD_PASSWORD}"
/usr/bin/pg_dump --dbname=${PROD_DBNAME} \
--host=${PROD_HOSTNAME} \
--port=${PROD_PORT} \
--username=${PROD_USERNAME} \
--blobs \
--clean \
--create \
--encoding=UTF-8 \
--if-exists \
--insert \
--schema config | gsutil cp - gs://${BUCKET_NAME}/${DEST}_${JOB_ID}.sql
容器内的输出:
pg_dump: last built-in OID is 16383
pg_dump: reading extensions
pg_dump: identifying extension members
pg_dump: reading schemas
为什么脚本在容器内外的行为不同?解决办法是什么?
解决方案
推荐阅读
- apache-flink - Apache Flink:注册名称冲突。名称为 *** 的 KvState 已被其他运营商注册
- spring - spring模板解析错误
- java - 将回收站视图放在底部导航上方
- sql - SQL Server - SQL 查询以查找具有不同日期的重复记录
- gsm - 如何从调制解调器进行 CSD 呼叫
- database - 我想使用带有以下 SQL 语句的 expdp 导出架构 -> ORA-39001
- python - 将几个numpy数组存储为jpg图像python时丢失文件
- amazon-web-services - 如何将文档上传到签名的 AWS S3?什么是桶和对象?
- android - 自定义 url 方案在 Android 中不起作用反应原生
- django - django 从视图中设置模板 url