通过Lua连接到PostgreSQL实例和连接到特定数据库有什么区别?

我不确定在我的问题中是否使用了正确的术语,但这就是我想做的事情。从命令行,我习惯运行以下命令:

psql -U postgres

然后我可以通过执行以下操作来查看所有数据库的列表:

postgres=# \l

我想知道如何在 lua 中以编程方式执行相同的操作? 以下函数是我目前用于连接特定数据库的:

local db_env, db_con
local connect_db = function()
  if not con then
        db_env = assert (luasql.postgres())
        db_con = assert (db_env:connect(databasename, databaseUser, databasepassword))
  end
end

只是想知道我该如何更改它以连接到 postgresql 服务器实例,以查看由我的服务器托管的所有数据库。

谢谢。

编辑1

也许当我运行命令

psql -U postgres

它连接到默认数据库?

点赞
用户3558476
用户3558476

在你的代码中,你必须连接到数据库服务器并查询服务器以获取数据库列表。数据库将返回一个记录集,其中包含该服务器上的数据库列表。

此处提供了一个很好的教程,可以连接到 postgres 并执行查询(就像 hjpotter92 发布的上面那个查询)。

使用 Lua 访问 Postgres

希望你会发现它有用。

2014-07-10 18:29:25