gpt4 book ai didi

postgresql - 在 github 操作中使用 psql

转载 作者:行者123 更新时间:2023-12-04 03:49:43 26 4
gpt4 key购买 nike

我正在尝试在 github 操作中使用 psql,但看到以下错误:

psql: error: could not connect to server: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
我的 github 操作 yml 文件如下所示(run_all_tests.sh 文件只是调用一个试图运行命令 psql 的子进程)。 有谁知道为什么会发生这种情况?
name: Python application

on:
push:
branches: [master]
pull_request:
branches: [master]

jobs:
build:
runs-on: ubuntu-latest

# Service containers to run with `container-job`
services:
# Label used to access the service container
postgres:
# Docker Hub image
image: postgres
# Provide the password for postgres
env:
POSTGRES_PASSWORD: postgres
# Set health checks to wait until postgres has started
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5

steps:
- name: Copy the code
uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install dependencies
run: |
python3 setup.py install
- name: Test with unittest
run: |
cd backend/py
source run_all_tests.sh
env:
# The hostname used to communicate with the PostgreSQL service container
POSTGRES_HOST: postgres
# The default PostgreSQL port
POSTGRES_PORT: 5432

最佳答案

由于我遇到了同样的问题,我尝试了一种对我有用的不同方法。
首先,我在容器中运行作业:

jobs:
build:
container: gradle:jdk11
这不会使 psql命令可用,因此您需要添加一个运行步骤来安装它。根据您选择的 Docker 镜像,特定的安装方法可能会有所不同:
jobs:
build:
container: gradle:jdk11
...
steps:
- run: |
apt-get update
apt-get install --yes --no-install-recommends postgresql-client
请注意,您的上方或下方可能有不同的步骤。
现在是执行您需要的所有这些 SQL 的时候了。这里最重要的是: 数据库主机名是 postgres 这是服务容器的 id。

jobs:
build:
container: gradle:jdk11
...
steps:
- run: |
apt-get update
apt-get install --yes --no-install-recommends postgresql-client
- run: |
psql -h postgres -U postgres -c 'CREATE DATABASE ...'
psql -h postgres -U postgres -c 'CREATE ROLE ...'

关于postgresql - 在 github 操作中使用 psql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64597296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com