簡體   English   中英

Postgres - 在 github 操作中運行 \c 命令

[英]Postgres - run \c command in github actions

在 GitHub 操作中,我正在運行一個 JavaScript 文件,該文件連接到 PostgreSQL 並為數據庫創建表和擴展名。

我的腳本如下所示:

const { Client } = require('pg')

const pgclient = new Client({
  host: process.env.POSTGRES_HOST,
  port: process.env.POSTGRES_PORT,
  user: process.env.POSTGRES_USER,
  password: process.env.POSTGRES_PASSWORD,
  database: process.env.POSTGRES_DB,
})

pgclient.connect()

const createDB = `
    drop database mydb;
    create database mydb;
    \c mydb;
    CREATE EXTENSION "pgcrypto";
`

pgclient.query(createDB, (err, res) => {
  if (err) throw err
  pgclient.end()
})

當我運行腳本時,我得到一個錯誤

error: syntax error at or near "c"

我猜這是來自\c標志。

如何使用這樣的 PostgreSQL 命令?

你不能在這里使用 \c 因為它是一個 psql 元命令,我認為你在這里不使用它:參見https://www.postgresql.org/docs/current/app-psql.ZFC35FDC70D5FC69D263EZ588A

您需要像這樣重新連接到新數據庫:

const pgclient_mydb = new Client({
  host: process.env.POSTGRES_HOST,
  port: process.env.POSTGRES_PORT,
  user: process.env.POSTGRES_USER,
  password: process.env.POSTGRES_PASSWORD,
  database: 'mydb',
})

pgclient_mydb.connect()

另請參閱https://stackoverflow.com/a/43670984/10743176

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM