Postgresql 如何在azure管道中创建postgres数据库?

Postgresql 如何在azure管道中创建postgres数据库?,postgresql,spring-boot,azure-pipelines,azure-pipelines-yaml,azure-pipelines-tasks,Postgresql,Spring Boot,Azure Pipelines,Azure Pipelines Yaml,Azure Pipelines Tasks,我正在azure管道中使用windows最新的host agent来构建和打包maven spring boot Java项目。与Maven buil相比,它对包含在WindowHost agent上的postgres db运行测试。但是,如何在postgres服务器中创建数据库 通过将spring数据源URL、用户名和密码指定为系统属性,我可以连接到db,这可以正常工作(否则控制台日志中会显示一个错误,它无法连接) 我可以使用包含sql的schema.sql文件来执行db初始化,该初始化由Sp

我正在azure管道中使用windows最新的host agent来构建和打包maven spring boot Java项目。与Maven buil相比,它对包含在WindowHost agent上的postgres db运行测试。但是,如何在postgres服务器中创建数据库

通过将spring数据源URL、用户名和密码指定为系统属性,我可以连接到db,这可以正常工作(否则控制台日志中会显示一个错误,它无法连接)

我可以使用包含sql的schema.sql文件来执行db初始化,该初始化由Spring在应用程序启动期间运行。然而,Postgres没有默认的“如果不存在创建db”。 因此,我尝试使用psql在脚本中创建db。我在SO上找到以下命令以创建db,并尝试在脚本中运行该命令:

        - script: |
            "C:\Program Files\PostgreSQL\13\bin\psql" -c "CREATE DATABASE default" "user=postgres dbname=postgres password=root"
          displayName: Creating DB
但是,它会导致控制台日志中出现以下错误:

ERROR:  syntax error at or near "default"
LINE 1: CREATE DATABASE default
                        ^
##[error]Cmd.exe exited with code '1'.
Finishing: Creating DB
请就db的创建提供一些建议?上面的错误是什么

maven任务:

        - task: Maven@3
          name: maven_package
          displayName: Maven package
          inputs:
              goals: "package"
              mavenPomFile: "backend/pom.xml"
              options: '--settings backend/.mvn/settings.xml -DmygetUsername=$(mygetUsername) -DmygetPassword=$(mygetPassword) -Dspring.datasource.url=jdbc:postgresql://localhost:5432/default  -Dspring.datasource.username=postgres -Dspring.datasource.password=root'
              mavenOptions: "-Xmx3072m $(MAVEN_OPTS)"
              javaHomeOption: "JDKVersion"
              jdkVersionOption: "1.13"
              mavenAuthenticateFeed: true

我转载了你的问题:


此错误的原因是无法创建名为
default
的数据库<代码>默认值是Postgre中的保留字。您可以单击查看SQL关键字列表,以及它们是否保留在PostgresSQL中。

Ohhh,谢谢,我没想到会这样,所以我找错了方向