在我的Django项目中,我使用PostgreSql作为数据库。当我通过pgAdmin在本地运行它时,数据就会出现,但是当我在服务器上运行它时,数据不会出现在pgAdmin中。
姜戈settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'xxxx',
'USER' : 'xxx',
'PASSWORD': 'xxx',
'HOST': 'pgdb',
'PORT': 5432,
}}
docker-compose.yaml
services:
# CaddyServer reverse proxy
caddy:
restart: always
image: caddy:2-alpine
ports:
- "443:443"
command: caddy reverse-proxy --from https://xxxxxx.com --to http://0.0.0.0:8000
#volumes:
# - /local/path/to/Caddyfile:/path/inside/continer/to/Caddyfile
# networks:
# - web
# - bridge
# Django web app
django:
restart: always
build: .
ports:
- "80:8000"
depends_on:
- pgdb
#environment:
# - url=https://api.backend.example.com
#command: "gunicorn config.wsgi:application --bind 0.0.0.0:8000"
#networks:
# - bridge
pgdb:
image: postgres
container_name: pgdb
environment:
- POSTGRES_DB=xxxx
- POSTGRES_USER=xxxx
- POSTGRES_PASSWORD=xxxx
volumes:
- pg-data:/var/lib/postgresql/data/卷数:pg-数据:
我正在通过pgAdmin服务器ip连接。建立了pgAdmin连接,但我输入到系统中的数据在pgAdmin上不可见。
发布于 2022-10-19 14:02:49
这是因为它不在您的postgres数据库中,而是只在pg_admin中
我建议您做的是通过ssh运行这个命令来获得一个数据库列表:
psql -l一旦获得所有数据库名称及其所有者,请检查您的数据库是否出现。如果是这样,请尝试使用以下方法访问它:
psql -U your_db_username || psql -U your_db_username -d your_db_name访问并查询表,以查看数据是否确实存在。
如果它不在那里,我建议的是用以下方式转储数据库:
pg_dump -U db_username db_name > your_backup.pgsql之后,您应该通过终端将转储还原到postgres:
psql -U db_username --set ON_ERROR_STOP=on -f your_backup.pgsql如果这对你有帮助的话。我可以在这个问题上进一步帮助你,如果它最终确实有帮助,但你面临新的/其他的问题。
https://stackoverflow.com/questions/74123896
复制相似问题