Perl dbi 运行 psql代码
Perl dbi running psql code
我想知道是否有人有使用 perl dbi 连接到 postgres 数据库的经验。所以我可以连接到我的 postgres 数据库并执行 select 查询,但我不能执行 psql 查询。有谁知道是否可以在 perl dbi 中执行此操作?现在我使用此代码获取 select 查询:
my $SQL = $dbh->prepare("select*from pg_settings;);
$SQL -> execute();
while ( my ($settings_fetch) = $SQL->fetchrow_array() )
{
return $settings_fetch;
}
使用模块 PG:DBI
但是当我尝试将 \x
或 \pset
格式包装在 prepare 语句中时,它不起作用。它没有给出任何错误,但输出不会换行,我仍然得到相同的输出。现在我有点困惑,如果是因为它不执行 psql 命令并包装获取的行,或者 selects 运行 总是以相同的方式包装只是显示在显示器上并且无法使用 dbi
获取
我想要这个的原因是因为我在一个数组中获取 select 数组并将其输出到 word,但是当我得到包含很多列的大 select 输出时它确实变得混乱在 word 表中,所以我想在我的 word 文档中使用 \x
变体,这样我就不会水平而是垂直地得到 10 列。
\x
和\pset
是psql
客户端使用的格式化命令。 Postgres 服务器不使用它们。
如果要格式化 Perl 程序输出的数据,则必须在 Perl 中进行格式化。
例如,而不是写作:
foreach my $column (@$settings_fetch) {
print $column;
}
你可以:
foreach my $column (@$settings_fetch) {
print $column . "\n";
}
我想知道是否有人有使用 perl dbi 连接到 postgres 数据库的经验。所以我可以连接到我的 postgres 数据库并执行 select 查询,但我不能执行 psql 查询。有谁知道是否可以在 perl dbi 中执行此操作?现在我使用此代码获取 select 查询:
my $SQL = $dbh->prepare("select*from pg_settings;);
$SQL -> execute();
while ( my ($settings_fetch) = $SQL->fetchrow_array() )
{
return $settings_fetch;
}
使用模块 PG:DBI
但是当我尝试将 \x
或 \pset
格式包装在 prepare 语句中时,它不起作用。它没有给出任何错误,但输出不会换行,我仍然得到相同的输出。现在我有点困惑,如果是因为它不执行 psql 命令并包装获取的行,或者 selects 运行 总是以相同的方式包装只是显示在显示器上并且无法使用 dbi
我想要这个的原因是因为我在一个数组中获取 select 数组并将其输出到 word,但是当我得到包含很多列的大 select 输出时它确实变得混乱在 word 表中,所以我想在我的 word 文档中使用 \x
变体,这样我就不会水平而是垂直地得到 10 列。
\x
和\pset
是psql
客户端使用的格式化命令。 Postgres 服务器不使用它们。
如果要格式化 Perl 程序输出的数据,则必须在 Perl 中进行格式化。
例如,而不是写作:
foreach my $column (@$settings_fetch) {
print $column;
}
你可以:
foreach my $column (@$settings_fetch) {
print $column . "\n";
}