簡體   English   中英

Perl DBI運行PSQL代碼

[英]Perl dbi running psql code

我想知道是否有人對perl dbi連接到postgres數據庫有任何經驗。 因此,我可以連接到我的postgres數據庫並執行選擇查詢,但不能執行psql查詢。 有誰知道是否有可能在perl dbi中這樣做? 現在,我使用以下代碼來獲取選擇查詢:

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命令並包裝提取的行,或者選擇始終以相同的方式運行,而包裝僅顯示在顯示器上,而不能用dbi提取

我想要這個的原因是因為我獲取了數組中的選擇數組並將其輸出到word,但是當我得到帶有很多列的大select輸出時,它的確在單詞表中變得凌亂,所以我希望在我的\\x變量中Word文檔,這樣我就不會在水平方向垂直放置10列。

\\x\\psetpsql客戶端使用的格式化命令。 Postgres服務器不使用它們。

如果要格式化從Perl程序輸出的數據,則必須在Perl中進行格式化。

例如,而不是寫:

foreach my $column (@$settings_fetch) {
    print $column;
}

你可以:

foreach my $column (@$settings_fetch) {
    print $column . "\n";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM