尝试使用 docker-compose 将 PostgreSQL 14 与 Django 结合使用
version: '3.7'
services:
web:
build:
context: .
dockerfile: Dockerfile
container_name: dev__app
image: backend-dev
command: ["/scripts/docker/wait_for_it.sh", "database:5432", "--", "/scripts/docker/docker_start.sh"]
volumes:
# Make /src directory editable which updates django app when code is changed
- ./src:/app
depends_on:
- database
env_file:
- .env
environment:
- DATABASE={'ENGINE':'django.db.backends.postgresql','NAME':'app_dev','USER':'app_dev','PASSWORD':'app_dev','HOST':'database','PORT':'5432'}
- CELERY_BROKER_URL=amqp://rabbitmq
ports:
- "8000:8000"
restart: on-failure
# database service
database:
image: postgres:14
container_name: app_db
environment:
POSTGRES_PASSWORD: app_dev
POSTGRES_USER: app_dev
POSTGRES_DB: app_dev
POSTGRES_HOST_AUTH_METHOD: md5
POSTGRES_INITDB_ARGS: "--auth-host=md5"
volumes:
- app_database:/var/lib/postgresql/data …Run Code Online (Sandbox Code Playgroud) 当我尝试使用 PHP 连接到 Postgresql 服务器时,出现错误,如下所示:
无法连接到 PostgreSQL 服务器:SCRAM 身份验证需要 libpq 版本 10 或更高版本
我使用 EnterpriseDb,并且pg_connect();在我的代码中,我不知道出了什么问题。
我需要将用户postgres的密码加密从scram-sha-265降级为md5。
我尝试修改pg_hba.conf和postgresql.conf文件,将密码加密从scram-sha-256更改为md5,但之后我无法连接到数据库。
我正在使用 PostgreSQL 13 和 PgAdmin 4 v5。
感谢您的任何帮助和建议!
PS:我必须这样做,因为 RStudio 无法通过 scram 身份验证管理连接。
我正在尝试运行一个使用 psycopg2-binary==2.9.1 的 python 应用程序,但遇到此错误:
psycopg2.OperationalError: SCRAM authentication requires libpq version 10 or above
Run Code Online (Sandbox Code Playgroud)
当我检查安装的 libpq 版本时,它表明我有 12.8:
sudo dpkg -l | grep libpq
ii libpq5:arm64 12.8-0ubuntu0.20.04.1 arm64 PostgreSQL C client library
Run Code Online (Sandbox Code Playgroud)
我四处搜索并看到一些关闭 scram 身份验证的建议,因此我将 pg_hba.conf 和 postgresql.conf 中的身份验证更改为 md5,然后重新加载配置(并重新启动我的数据库)。
我仍然遇到这个问题。有谁知道出了什么问题?提前致谢
我是新手R,我正在尝试使用 RStudio 连接到 PostgreSQL。
我已经安装RPostgreSQL并尝试了以下代码:
> library("DBI", lib.loc="~/R/win-library/3.2")
> library("RPostgreSQL", lib.loc="~/R/win-library/3.2")
> con <- dbConnect(dbDriver("PostgreSQL"), dbname="Delta", user="postgres")
Error in postgresqlNewConnection(drv, ...) :
RS-DBI driver: (could not connect postgres@local on dbname "Delta"
Run Code Online (Sandbox Code Playgroud)
由于某种原因我无法连接到数据库。我想解决这个问题很长时间,但不知道如何解决。
当前的 docker 测试版要求您在--platform=linux/amd64每次需要时指定一个build或runamd64 图像/容器。
文档提到
当运行具有多架构支持的镜像时,docker 会自动选择与您的操作系统和架构相匹配的镜像变体。
该文档未指定使用 env 变量更改此自动行为的方法。它似乎忽略了 BUILDPLATFORM 和 TARGETPLATFORM。
是否有任何其他方法强制docker运行所有build和run使用的平台的命令linux/amd64,而不是linux/arm64/v8默认情况下在苹果硅运行MacOS的?
postgresql ×5
docker ×2
django ×1
enterprisedb ×1
md5 ×1
php ×1
psql ×1
psycopg2 ×1
python ×1
r ×1