在 Spring Boot 中使用 Copy 命令从 Postgres 导出数据

     2023-02-26     196

关键词:

【中文标题】在 Spring Boot 中使用 Copy 命令从 Postgres 导出数据【英文标题】:Exporting Data from Postgres with Copy command in SpringBoot 【发布时间】:2019-10-16 13:18:31 【问题描述】:

我正在尝试从 Spring-boot 应用程序中导出 PostgreSQL 表。我有一个选择所有记录并将其映射到 CSV 的逻辑。该应用程序目前检索所有数据并使用 CSV 库对其进行格式化/导出。也有来自 PostgreSQL 的直接命令来导出数据(COPY 命令),而不使用任何 API。这是一种从应用程序完成此操作的方法吗?

从 Spring-boot 添加查询并尝试执行复制操作,其中 spring 不允许执行命令。

Spring-boot 推荐使用 Postgres 的 CopyManager?

有没有一种方法可以直接从数据库中获取数据,而无需应用程序检索数据?

【问题讨论】:

“没有数据被应用程序检索?” 那么数据会去哪里,又是如何到达那里的呢? 意味着数据导出可以委托给数据库(以某种方式)?应用程序只需从文件系统中的绝对路径获取导出的 CSV 并将其传递给 Web 客户端(在部署中,应用程序和数据库在同一台服务器上运行。) 【参考方案1】:

COPY 会在数据库服务器上创建一个文件,所以除非你真的想要,否则不要使用COPY

如果您想要应用程序机器上的文件中的数据,请使用SELECT 语句,并在 Java 代码中将输出格式化为 CSV,最好使用 CSV 库。

【讨论】:

这正是我现在正在做的事情,而且它正在工作。考虑到数据量,我正在研究的数据导出替代方案。 @akumaras 您应该在问题中提到这一点。本来可以让我免于建议你已经知道的东西。 --- 你真正想解决什么问题?您最好编辑并澄清问题。 我的错,我在关于当前方法的问题中提供了一些信息。刚刚编辑了问题

在 Spring Boot 2 中,如何自动生成数据库并将模式生成命令记录到文件中?

】在SpringBoot2中,如何自动生成数据库并将模式生成命令记录到文件中?【英文标题】:InSpringBoot2,howcanIauto-generatemydatabaseandalsorecordtheschemagenerationcommandstoafile?【发布时间】:2020-10-2912:18:47【问题描述】:我正在使用带有Java11的Sp... 查看详情

在 Spring Boot 2.3.0 中运行 mvn spring-boot:build-image 命令以生成 docker 映像时如何设置 JVM 参数?

】在SpringBoot2.3.0中运行mvnspring-boot:build-image命令以生成docker映像时如何设置JVM参数?【英文标题】:HowtosetJVMargumentswhenrunningmvnspring-boot:build-imagecommandinSpringBoot2.3.0togenerateadockerimage?【发布时间】:2020-09-0309:41:16【问题描述】:我... 查看详情

在使用命令行运行器的 Spring Boot 中创建一个 jar 文件

】在使用命令行运行器的SpringBoot中创建一个jar文件【英文标题】:creatingajarfileinspringbootthatisusingcommandlinerunners【发布时间】:2021-11-1204:34:16【问题描述】:我有一个使用来自spring-boot的命令行运行器的应用程序。当我想通过构建... 查看详情

在 PostgreSQL 中,如何使用 COPY 命令插入数据?

】在PostgreSQL中,如何使用COPY命令插入数据?【英文标题】:InPostgreSQL,howtoinsertdatawithCOPYcommand?【发布时间】:2015-11-2303:13:56【问题描述】:使用PostgreSQL数据库运行1个项目NodeJs时遇到问题。尝试使用COPY命令在pgAdmin中插入数据时... 查看详情

使用 docker-compose 无法在同一网络中连接 mysql 和 spring boot

】使用docker-compose无法在同一网络中连接mysql和springboot【英文标题】:usingdocker-composeunabletoconnectmysqlandspringbootinsamenetwork【发布时间】:2020-05-0516:45:47【问题描述】:任何帮助将不胜感激。我正在尝试在两个容器中运行mysql和spring... 查看详情

Spring Boot 未作为独立 jar 启动

】SpringBoot未作为独立jar启动【英文标题】:SpringBootnotstartingasastandalonejar【发布时间】:2017-09-1519:52:42【问题描述】:我正在使用SpringBoot使用带有RunnableJar的Export命令创建一个独立的jar,并尝试在命令提示符下运行该jar,但它抛... 查看详情

Spring Boot 应用程序能够在 Eclipse 环境中启动,但不能在带有快照的 Windows 命令行中运行

】SpringBoot应用程序能够在Eclipse环境中启动,但不能在带有快照的Windows命令行中运行【英文标题】:Springbootappablelaunchineclipseenvironmentbutnotwhenruninwindowscommandlinewithsnapshot【发布时间】:2020-02-0501:18:20【问题描述】:我目前正在尝... 查看详情

如何在 Spring Boot 中使用 @Transactional 注解

】如何在SpringBoot中使用@Transactional注解【英文标题】:Howtouse@TransactionalannotationinSpringboot【发布时间】:2019-09-2014:57:56【问题描述】:我正在做一个spring-boot项目。在我的项目中使用@Transactional注解之前,我有两个问题在spring-boot... 查看详情

使用 spring-boot:run 时是不是可以使用 spring-boot 命令行属性?

】使用spring-boot:run时是不是可以使用spring-boot命令行属性?【英文标题】:Arespring-bootcommandlinepropertiesavailablewhenusingspring-boot:run?使用spring-boot:run时是否可以使用spring-boot命令行属性?【发布时间】:2015-02-0219:55:03【问题描述】:... 查看详情

将命令行参数传递给在 Docker 中运行的 Java 应用程序(Spring Boot)

】将命令行参数传递给在Docker中运行的Java应用程序(SpringBoot)【英文标题】:PasscommandlineargstoJavaapp(SpringBoot)runninginDocker【发布时间】:2019-06-2302:15:38【问题描述】:我正在尝试将命令行参数传递给在Docker容器中运行的SpringBoot... 查看详情

在 Spring Boot 中使用 EntityManager

】在SpringBoot中使用EntityManager【英文标题】:UseEntityManagerinSpringboot【发布时间】:2018-02-1212:29:53【问题描述】:我想在SpringBoot中使用EntityManager。应用程序@Configuration@EnableRetry//ToenableSpringretry@EnableJpaRepositories@EnableAspectJAutoProx 查看详情

在 spring-boot 项目中使用 spring mvc xml 项目

】在spring-boot项目中使用springmvcxml项目【英文标题】:Usespringmvcxmlprojectinsidespring-bootproject【发布时间】:2016-08-1308:42:55【问题描述】:我创建了这个测试项目,由2个项目组成:一个使用spring-boot,一个使用spring-mvc。它们中的每... 查看详情

在 Spring Boot 中使用 UCANACCESS

】在SpringBoot中使用UCANACCESS【英文标题】:UsingUCANACCESSwithSpringBoot【发布时间】:2020-04-0723:20:49【问题描述】:我正在设置一个非常基本的Spring-Boot应用程序,以将一些Access数据库内容作为REST服务提供。在将ucanaccessjar包含在我的... 查看详情

使用 Maven 的 Spring Boot 属性从命令行运行 flyway 命令

】使用Maven的SpringBoot属性从命令行运行flyway命令【英文标题】:Runningflywaycommandsfromcommandlineusingspringbootpropertiesformaven【发布时间】:2020-10-2910:24:42【问题描述】:我有一个使用maven的springboot项目,我已将flyway包含在其中:pom.xml... 查看详情

在 Spring Boot 中使用 @CrossOrigin

】在SpringBoot中使用@CrossOrigin【英文标题】:Using@CrossOrigininSpringBoot【发布时间】:2016-01-2010:00:02【问题描述】:我正在使用最新的SpringBoot(1.2.7.RELEASE)。我想使用org.springframework.web.bind.annotation包中的@CrossOrigin注释,如Spring文档中... 查看详情

如何在 Junit5 / spring boot 中命令执行控制器测试类?

】如何在Junit5/springboot中命令执行控制器测试类?【英文标题】:HowtoorderexecutionofcontrollertestclassesinJunit5/springboot?【发布时间】:2021-05-0806:43:54【问题描述】:在我的实体中,我有双向的一对多关系,我想用mock.mvc编写集成测试。... 查看详情

在 spring-boot 中使用一个模板引擎渲染多个后缀

】在spring-boot中使用一个模板引擎渲染多个后缀【英文标题】:rendermultiplesuffixeswithonetemplateengineinspring-boot【发布时间】:2017-09-3017:53:28【问题描述】:我创建了两个thymleaf解析器并将它们添加到模板引擎中,因此我可以在spring-bo... 查看详情

在 PostgreSQL 中使用 COPY FROM 命令在多个表中插入

】在PostgreSQL中使用COPYFROM命令在多个表中插入【英文标题】:UseCOPYFROMcommandinPostgreSQLtoinsertinmultipletables【发布时间】:2018-10-1117:51:19【问题描述】:我正在尝试使用PostgreSQL中的COPYFROM命令的性能来获取CSV文件(CSV->table1)的1个表... 查看详情