You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub Actions工作流中配置PostgreSQL解决连接失败问题

Django项目GitHub Actions自动测试PostgreSQL连接失败问题

尝试使用GitHub Actions自动测试Django项目,但构建过程中遇到PostgreSQL连接问题——虽然已安装PostgreSQL,但无法通过网络响应,导致构建失败。

当前GitHub Actions工作流配置 (django.yml)

name: Django CI

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

jobs:
  build:

    runs-on: ubuntu-latest
    strategy:
      max-parallel: 4
      matrix:
        python-version: [3.7, 3.8, 3.9]

    steps:
    - name: Install Dependencies
      run: |
        sudo apt update
        sudo apt install -y postgresql postgresql-contrib
        pip install django
        sudo apt install -y python3-dev libpq-dev
        pip install psycopg2
        sudo -u postgres psql -f setup.sql
        python manage.py migrate
    - name: Run Tests
      run: |
        python manage.py test core

控制台错误日志

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Hit:1 http://azure.archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://azure.archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
Get:3 http://azure.archive.ubuntu.com/ubuntu jammy-backports InRelease [107 kB]
Get:4 http://azure.archive.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:5 https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease [3065 B]
Get:6 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [943 kB]
Get:7 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main Translation-en [204 kB]
Get:8 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main amd64 c-n-f Metadata [13.6 kB]
Get:9 http://azure.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [883 kB]
Get:10 http://azure.archive.ubuntu.com/ubuntu jammy-updates/universe Translation-en [174 kB]
Get:11 http://azure.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 c-n-f Metadata [18.0 kB]
Hit:12 https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu jammy InRelease
Get:13 http://azure.archive.ubuntu.com/ubuntu jammy-security/main amd64 Packages [687 kB]
Get:14 http://azure.archive.ubuntu.com/ubuntu jammy-security/main Translation-en [141 kB]
Get:15 http://azure.archive.ubuntu.com/ubuntu jammy-security/main amd64 c-n-f Metadata [8832 B]
Get:16 http://azure.archive.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [702 kB]
Get:17 http://azure.archive.ubuntu.com/ubuntu jammy-security/universe Translation-en [112 kB]
Get:18 http://azure.archive.ubuntu.com/ubuntu jammy-security/universe amd64 c-n-f Metadata [13.6 kB]
Get:19 https://packages.microsoft.com/ubuntu/22.04/prod jammy/main armhf Packages [6252 B]
Get:20 https://packages.microsoft.com/ubuntu/22.04/prod jammy/main amd64 Packages [52.8 kB]
Get:21 https://packages.microsoft.com/ubuntu/22.04/prod jammy/main all Packages [716 B]
Get:22 https://packages.microsoft.com/ubuntu/22.04/prod jammy/main arm64 Packages [11.6 kB]
Fetched 4311 kB in 1s (4079 kB/s)
Reading package lists...
Building dependency tree...
Reading state information...
26 packages can be upgraded. Run 'apt list --upgradable' to see them.

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
Suggested packages:
  postgresql-doc
The following NEW packages will be installed:
  postgresql postgresql-contrib
0 upgraded, 2 newly installed, 0 to remove and 26 not upgraded.
Need to get 6580 B of archives.
After this operation, 143 kB of additional disk space will be used.
Get:1 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 postgresql all 14+238 [3288 B]
Get:2 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 postgresql-contrib all 14+238 [3292 B]
Fetched 6580 B in 0s (16.0 kB/s)
Selecting previously unselected package postgresql.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 263190 files and directories currently installed.)
Preparing to unpack .../postgresql_14+238_all.deb ...
Unpacking postgresql (14+238) ...
Selecting previously unselected package postgresql-contrib.
Preparing to unpack .../postgresql-contrib_14+238_all.deb ...
Unpacking postgresql-contrib (14+238) ...
Setting up postgresql-contrib (14+238) ...
Setting up postgresql (14+238) ...
NEEDRESTART-VER: 3.5
NEEDRESTART-KCUR: 5.15.0-1034-azure
NEEDRESTART-KEXP: 5.15.0-1034-azure
NEEDRESTART-KSTA: 1
Defaulting to user installation because normal site-packages is not writeable
Collecting django
  Downloading Django-4.1.7-py3-none-any.whl (8.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.1/8.1 MB 18.9 MB/s eta 0:00:00
Collecting asgiref<4,>=3.5.2
  Downloading asgiref-3.6.0-py3-none-any.whl (23 kB)
Collecting sqlparse>=0.2.2
  Downloading sqlparse-0.4.3-py3-none-any.whl (42 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.8/42.8 KB 12.3 MB/s eta 0:00:00
Installing collected packages: sqlparse, asgiref, django
Successfully installed asgiref-3.6.0 django-4.1.7 sqlparse-0.4.3

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
python3-dev is already the newest version (3.10.6-1~22.04).
libpq-dev is already the newest version (15.2-1.pgdg22.04+1).
0 upgraded, 0 newly installed, 0 to remove and 26 not upgraded.
Defaulting to user installation because normal site-packages is not writeable
Collecting psycopg2
  Downloading psycopg2-2.9.5.tar.gz (384 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 384.3/384.3 KB 6.6 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Building wheels for collected packages: psycopg2
  Building wheel for psycopg2 (setup.py): started
  Building wheel for psycopg2 (setup.py): finished with status 'done'
  Created wheel for psycopg2: filename=psycopg2-2.9.5-cp310-cp310-linux_x86_64.whl size=499016 sha256=ec7d50cba0fce65cdd5e5ac9183bf7877f4feb3f3f0dc6de08800d2f3ece4c40
  Stored in directory: /home/runner/.cache/pip/wheels/b4/83/91/37687788ee41584610b6db5b85f98ed987fffb2ca193558264
Successfully built psycopg2
Installing collected packages: psycopg2
Successfully installed psycopg2-2.9.5
could not change directory to "/home/runner/work/pelican/pelican": Permission denied
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
    Is the server running locally and accepting connections on that socket?
Error: Process completed with exit code 2.

已尝试的解决方案

  • 尝试用Vagrantfile搭建虚拟机,未成功
  • 网上搜索相关问题,未找到有效解决方案

内容的提问来源于stack exchange,提问作者callen44

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 21:37:00