gpt4 book ai didi

postgresql - 用于创建、列出和删除数据库的 libpq 代码(C++/VC++、PostgreSQL)

转载 作者:行者123 更新时间:2023-11-29 12:47:33 25 4
gpt4 key购买 nike

我是 PostgreSQL 数据库的新手。我的 visual c++ 应用程序需要做的是创建多个表并从中添加/检索数据。

我的应用程序的每个 session 都应该创建一个新的不同的数据库。我可以使用当前日期和时间作为唯一的数据库名称。

还应该有一个删除所有数据库的选项。

我已经弄清楚了如何连接到数据库、创建表以及向表中添加数据。我不确定如何为每次运行创建一个新数据库,或者如果用户想要清除所有数据库,如何检索数据库的数量和名称。

请帮忙。

最佳答案

参见 libpq examples in the documentation .示例程序向您展示了如何列出数据库,以及一般如何对数据库执行命令。那里的示例代码很容易适应创建和删除数据库。

创建数据库很简单 CREATE DATABASE SQL 语句,与任何其他 libpq 操作相同。您必须连接到一个临时数据库(通常是 template1)以发出 CREATE DATABASE,然后断开连接并与您刚刚创建的数据库建立新连接。

与其创建新数据库,不如考虑创建新的 schema反而。麻烦少得多,因为您需要做的就是更改 search_path或为您的表引用添加前缀,您不必断开连接并重新连接即可更改架构。参见 the documentation on schemas .

不过,我质疑您的设计是否明智。对于应用程序来说,将创建和删除数据库(或表,临时表除外)作为其正常操作的一部分很少是一个好主意。也许如果您详细说明为什么要这样做,我们可以提出比您当前的方法更容易和/或性能更好的解决方案。

关于postgresql - 用于创建、列出和删除数据库的 libpq 代码(C++/VC++、PostgreSQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11650018/

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