<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
					xmlns:content="http://purl.org/rss/1.0/modules/content/"
					xmlns:wfw="http://wellformedweb.org/CommentAPI/"
					xmlns:atom="http://www.w3.org/2005/Atom"
				  >
<channel>
<atom:link rel="self"  type="application/rss+xml"  href="http://rulinux.net/rss_from_sect_4_subsect_10_thread_42619"  />
<title>rulinux.net - Форум - Talks - задача, есть неизвестная база данных, надо её поглядеть</title>
<link>http://rulinux.net/</link>
<description><![CDATA[Портал о GNU/Linux и не только]]></description>
<image><title>rulinux.net - Форум - Talks - задача, есть неизвестная база данных, надо её поглядеть</title>
<link>http://rulinux.net/</link>
<url>http://rulinux.net/rss_icon.png</url>
</image>
<item>
<title>Re:задача, есть неизвестная база данных, надо её поглядеть</title>
<link>https://rulinux.net/message.php?newsid=42619&amp;page=1#216935</link>
<guid>https://rulinux.net/message.php?newsid=42619&amp;page=1#216935</guid>
<pubDate>Sat, 13 Aug 2016 16:07:20 +0300</pubDate>
<description><![CDATA[<p>наверное, ничем =)</p>]]></description>
</item>
<item>
<title>Re:задача, есть неизвестная база данных, надо её поглядеть</title>
<link>https://rulinux.net/message.php?newsid=42619&amp;page=1#216934</link>
<guid>https://rulinux.net/message.php?newsid=42619&amp;page=1#216934</guid>
<pubDate>Sat, 13 Aug 2016 13:53:58 +0300</pubDate>
<description><![CDATA[<p>А чем плохо получение информации через стандартные \d и прочее?</p>]]></description>
</item>
<item>
<title>Re:задача, есть неизвестная база данных, надо её поглядеть</title>
<link>https://rulinux.net/message.php?newsid=42619&amp;page=1#216933</link>
<guid>https://rulinux.net/message.php?newsid=42619&amp;page=1#216933</guid>
<pubDate>Sat, 13 Aug 2016 12:14:09 +0300</pubDate>
<description><![CDATA[<p>наверное. проще, но у меня только шеллдсуп был.<br><br>и еще не знаю, работает ли этот слелект(нашел в сети его) на рекурсивные таблицы, типа в таблице в её элементе еще таблица, а в ней еще таблица, и так далее как в притче,<br><br>у попа была собака, он её любил, она съела кусок мяса, он её убил, и на камне написал, у попа была собака, он её любил...<br><br>Ого, этож явный пример рекурсии еще за 300 лет до изобретения самого первого языка программирования<br><br>короче, у меня тут счас происходит свободный полет мысли над дождливым пасмурным штормящим морем на предмет отслеживания громов и молний во внезапно возникшую бурю...</p>]]></description>
</item>
<item>
<title>Re:задача, есть неизвестная база данных, надо её поглядеть</title>
<link>https://rulinux.net/message.php?newsid=42619&amp;page=1#216931</link>
<guid>https://rulinux.net/message.php?newsid=42619&amp;page=1#216931</guid>
<pubDate>Sat, 13 Aug 2016 12:09:27 +0300</pubDate>
<description><![CDATA[<p>Не проще её  админкой открыть, если не cli, хотя бы pgadmin или подобным.</p>]]></description>
</item>
<item>
<title>Re:задача, есть неизвестная база данных, надо её поглядеть</title>
<link>https://rulinux.net/message.php?newsid=42619&amp;page=1#216930</link>
<guid>https://rulinux.net/message.php?newsid=42619&amp;page=1#216930</guid>
<pubDate>Sat, 13 Aug 2016 12:08:04 +0300</pubDate>
<description><![CDATA[<p><fieldset><legend>perl</legend><div class="highlight perl"><br />
<span class="co1">#!/usr/bin/perl</span><br />
<br />
<span class="kw2">use</span> DBI<span class="sy0">;</span><br />
<span class="kw2">use</span> strict<span class="sy0">;</span><br />
<span class="kw1">my</span> <span class="re0">$dbh</span> <span class="sy0">=</span> DBI<span class="sy0">-&gt;</span><span class="me1">connect</span><span class="br0">&#40;</span><span class="st0">&quot;dbi:Pg:dbname=imdata&quot;</span><span class="sy0">,</span><span class="st0">&quot;postgres&quot;</span><span class="sy0">,</span><span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="br0">&#123;</span>PrintError <span class="sy0">=&gt;</span> 0<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
<span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$DBI</span><span class="sy0">::</span><span class="me2">err</span> <span class="sy0">!=</span> 0<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp;<a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="re0">$DBI</span><span class="sy0">::</span><span class="me2">errstr</span> <span class="sy0">.</span> <span class="st0">&quot;<span class="es0">\n</span>&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp;<a href="http://perldoc.perl.org/functions/exit.html"><span class="kw3">exit</span></a><span class="br0">&#40;</span><span class="re0">$DBI</span><span class="sy0">::</span><span class="me2">err</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<br />
<span class="co1"># запрос всех таблиц и их полей в базе imdata</span><br />
<span class="kw1">my</span> <span class="re0">$query</span><span class="sy0">=</span><a href="http://perldoc.perl.org/functions/qq.html"><span class="kw3">qq</span></a><span class="sy0">~</span><a href="http://perldoc.perl.org/functions/select.html"><span class="kw3">select</span></a> t<span class="sy0">.</span>table_name<span class="sy0">,</span> c<span class="sy0">.</span>column_name<span class="sy0">,</span> c<span class="sy0">.</span>data_type FROM information_schema<span class="sy0">.</span>TABLES t JOIN information_schema<span class="sy0">.</span>COLUMNS c ON t<span class="sy0">.</span>table_name<span class="sy0">::</span><span class="me2">text</span> <span class="sy0">=</span> c<span class="sy0">.</span>table_name<span class="sy0">::</span><span class="me2">text</span> WHERE t<span class="sy0">.</span>table_schema<span class="sy0">::</span><span class="me2">text</span> <span class="sy0">=</span> <span class="st_h">'public'</span><span class="sy0">::</span><span class="me2">text</span> AND t<span class="sy0">.</span>table_catalog<span class="sy0">::</span><span class="me2">name</span> <span class="sy0">=</span> current_database<span class="br0">&#40;</span><span class="br0">&#41;</span> AND t<span class="sy0">.</span>table_type<span class="sy0">::</span><span class="me2">text</span> <span class="sy0">=</span> <span class="st_h">'BASE TABLE'</span><span class="sy0">::</span><span class="me2">text</span> AND NOT <span class="st0">&quot;substring&quot;</span><span class="br0">&#40;</span>t<span class="sy0">.</span>table_name<span class="sy0">::</span><span class="me2">text</span><span class="sy0">,</span> <span class="nu0">1</span><span class="sy0">,</span> <span class="nu0">1</span><span class="br0">&#41;</span> <span class="sy0">=</span> <span class="st_h">'_'</span><span class="sy0">::</span><span class="me2">text</span> ORDER BY t<span class="sy0">.</span>table_name<span class="sy0">,</span> c<span class="sy0">.</span>ordinal_position<span class="sy0">;~;</span><br />
<br />
<span class="kw1">my</span> <span class="re0">$sth</span> <span class="sy0">=</span> <span class="re0">$dbh</span><span class="sy0">-&gt;</span><span class="me1">prepare</span><span class="br0">&#40;</span><span class="re0">$query</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="kw1">my</span> <span class="re0">$rv</span> <span class="sy0">=</span> <span class="re0">$sth</span><span class="sy0">-&gt;</span><span class="me1">execute</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span><a href="http://perldoc.perl.org/functions/defined.html"><span class="kw3">defined</span></a> <span class="re0">$rv</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; <a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="st0">&quot;При выполнении запроса '$query' возникла ошибка: &quot;</span> <span class="sy0">.</span> <span class="re0">$dbh</span><span class="sy0">-&gt;</span><span class="me1">errstr</span> <span class="sy0">.</span> <span class="st0">&quot;<span class="es0">\n</span>&quot;</span><span class="sy0">;</span><br />
&nbsp; <a href="http://perldoc.perl.org/functions/exit.html"><span class="kw3">exit</span></a><span class="br0">&#40;</span>0<span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<br />
<span class="kw1">while</span> <span class="br0">&#40;</span><span class="kw1">my</span> <span class="re0">@array</span> <span class="sy0">=</span> <span class="re0">$sth</span><span class="sy0">-&gt;</span><span class="me1">fetchrow_array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; <span class="kw1">foreach</span> <span class="kw1">my</span> <span class="re0">$i</span> <span class="br0">&#40;</span><span class="re0">@array</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="st0">&quot;$i<span class="es0">\t</span>&quot;</span><span class="sy0">;</span><br />
&nbsp; <span class="br0">&#125;</span><br />
&nbsp; <a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="st0">&quot;<span class="es0">\n</span>&quot;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<br />
<span class="re0">$sth</span><span class="sy0">-&gt;</span><span class="me1">finish</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="re0">$dbh</span><span class="sy0">-&gt;</span><span class="me1">disconnect</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
<br />
&nbsp;</div></fieldset></p>]]></description>
</item>
<item>
<title>задача, есть неизвестная база данных, надо её поглядеть</title>
<link>https://rulinux.net/message.php?newsid=42619&amp;page=1#216929</link>
<guid>https://rulinux.net/message.php?newsid=42619&amp;page=1#216929</guid>
<pubDate>Sat, 13 Aug 2016 12:02:40 +0300</pubDate>
<description><![CDATA[<p>надо было отнавигарить неизвстную базу данных в постгрисе(на предмет того, что за таблица, её название, какие поля, сколько их, тип записи и т.п.), сделал такой селект, вывело все что можно<br><br> select t.table_name, c.column_name, c.data_type    FROM information_schema.TABLES t JOIN information_schema.COLUMNS c ON t.table_name::text = c.table_name::text   WHERE t.table_schema::text = 'public'::text AND      t.table_catalog::name = current_database() AND      t.table_type::text = 'BASE TABLE'::text AND      NOT &quot;substring&quot;(t.table_name::text, 1, 1) = '_'::text   ORDER BY t.table_name, c.ordinal_position;<br><br>запрос в базу по всем её таблицам. крутая штука, сразу все знаю. не надо писать длинные письма в саппорт девелоперам на предмет того, что да где, да куда да как</p>]]></description>
</item>
</channel>
</rss>