<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="cs">
	<id>http://postgres.cz/index.php?action=history&amp;feed=atom&amp;title=Sofistikovan%C4%9Bj%C5%A1%C3%AD_v%C3%BDpis_seznamu_datab%C3%A1z%C3%AD_pro_pou%C5%BEit%C3%AD_v_bashi</id>
	<title>Sofistikovanější výpis seznamu databází pro použití v bashi - Historie editací</title>
	<link rel="self" type="application/atom+xml" href="http://postgres.cz/index.php?action=history&amp;feed=atom&amp;title=Sofistikovan%C4%9Bj%C5%A1%C3%AD_v%C3%BDpis_seznamu_datab%C3%A1z%C3%AD_pro_pou%C5%BEit%C3%AD_v_bashi"/>
	<link rel="alternate" type="text/html" href="http://postgres.cz/index.php?title=Sofistikovan%C4%9Bj%C5%A1%C3%AD_v%C3%BDpis_seznamu_datab%C3%A1z%C3%AD_pro_pou%C5%BEit%C3%AD_v_bashi&amp;action=history"/>
	<updated>2026-05-12T22:46:48Z</updated>
	<subtitle>Historie editací této stránky</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>http://postgres.cz/index.php?title=Sofistikovan%C4%9Bj%C5%A1%C3%AD_v%C3%BDpis_seznamu_datab%C3%A1z%C3%AD_pro_pou%C5%BEit%C3%AD_v_bashi&amp;diff=447&amp;oldid=prev</id>
		<title>imported&gt;Pavel v 26. 2. 2009, 06:29</title>
		<link rel="alternate" type="text/html" href="http://postgres.cz/index.php?title=Sofistikovan%C4%9Bj%C5%A1%C3%AD_v%C3%BDpis_seznamu_datab%C3%A1z%C3%AD_pro_pou%C5%BEit%C3%AD_v_bashi&amp;diff=447&amp;oldid=prev"/>
		<updated>2009-02-26T06:29:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nová stránka&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Pro zjednodušení života jsem si napsal jednoduchý skriptík, který vrací seznam databází na serveru. Parametry jako např. pouze nesystémové databáze, maska, pouze db daného vlastníka určují obsah.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh                                                                                                                                                                        &lt;br /&gt;
&lt;br /&gt;
quoted=0&lt;br /&gt;
dbname=&amp;quot;AND true&amp;quot;&lt;br /&gt;
user=&amp;quot;AND true &amp;quot;&lt;br /&gt;
&lt;br /&gt;
while getopts &amp;quot;:qsSp:D:h:u:&amp;quot; options; do&lt;br /&gt;
  case $options in&lt;br /&gt;
    p ) port=&amp;quot;-p $OPTARG&amp;quot;;;&lt;br /&gt;
    q ) quoted=1;;&lt;br /&gt;
    s ) user=&amp;quot; $user AND datdba = (select usesysid from pg_user where usename = &amp;#039;postgres&amp;#039;) &amp;quot;;;&lt;br /&gt;
    S ) user=&amp;quot; $user AND datdba &amp;lt;&amp;gt; (select usesysid from pg_user where usename = &amp;#039;postgres&amp;#039;) &amp;quot;;;&lt;br /&gt;
    D ) dbname=&amp;quot; $dbname AND datname &amp;lt;&amp;gt; &amp;#039;$OPTARG&amp;#039; &amp;quot;;;&lt;br /&gt;
    h ) host=&amp;quot;-h $OPTARG&amp;quot;;;&lt;br /&gt;
    u ) user=&amp;quot; $user AND datdba = (SELECT usesysid from pg_user where usename = &amp;#039;$OPTARG&amp;#039;) &amp;quot;;;&lt;br /&gt;
   \? )&lt;br /&gt;
      echo &amp;quot;listdb list available databases.                                                                                                                                     &lt;br /&gt;
                                                                                                                                                                                 &lt;br /&gt;
Usage:                                                                                                                                                                           &lt;br /&gt;
  listdb [OPTIONS]... [masks]...                                                                                                                                                 &lt;br /&gt;
                                                                                                                                                                                 &lt;br /&gt;
Options controlling the output content:                                                                                                                                          &lt;br /&gt;
  -s               show system databases                                                                                                                                         &lt;br /&gt;
  -S               show user&amp;#039;s databases                                                                                                                                         &lt;br /&gt;
  -D DATABASE      exclude database                                                                                                                                              &lt;br /&gt;
  -q               quote output                                                                                                                                                  &lt;br /&gt;
  -u USERNAME      show only databases that owns user                                                                                                                            &lt;br /&gt;
                                                                                                                                                                                 &lt;br /&gt;
Connection options:                                                                                                                                                              &lt;br /&gt;
  -h HOSTNAME      database server host or socket directory (default: \&amp;quot;local socket\&amp;quot;)                                                                                          &lt;br /&gt;
  -p PORT          database server port (default: \&amp;quot;5432\&amp;quot;)                                                                                                                      &lt;br /&gt;
                                                                                                                                                                                 &lt;br /&gt;
Mask should contain wild chars like \&amp;quot;%\&amp;quot;.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
      exit 1&lt;br /&gt;
      ;;&lt;br /&gt;
    : )&lt;br /&gt;
      echo &amp;quot;Option -$OPTARG requires an argument.&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
      exit 1&lt;br /&gt;
      ;;&lt;br /&gt;
    * ) echo $OPTARG;;&lt;br /&gt;
&lt;br /&gt;
  esac&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
ldbname=&amp;quot; false &amp;quot;&lt;br /&gt;
for p in ${@:$OPTIND}&lt;br /&gt;
do&lt;br /&gt;
  ldbname=&amp;quot;$ldbname OR datname LIKE &amp;#039;$p&amp;#039; &amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [[ &amp;quot;$ldbname&amp;quot; == &amp;quot; false &amp;quot; ]]&lt;br /&gt;
then&lt;br /&gt;
  ldbname=true&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
wherec=&amp;quot;where true $user $dbname AND ( $ldbname )&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for db in `psql $port $host -A -t -l -c &amp;quot;select datname, quote_literal(datname) from pg_database $wherec&amp;quot; postgres`&lt;br /&gt;
do&lt;br /&gt;
BIFS=$IFS&lt;br /&gt;
IFS=&amp;quot;|&amp;quot;&lt;br /&gt;
dbn=($db)&lt;br /&gt;
  echo ${dbn[$quoted]}&lt;br /&gt;
IFS=$BIFS&lt;br /&gt;
done;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Příklady užití:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[pavel@localhost ~]$ ./listdb -p 5483 -q&lt;br /&gt;
&amp;#039;template1&amp;#039;&lt;br /&gt;
&amp;#039;template0&amp;#039;&lt;br /&gt;
&amp;#039;postgres&amp;#039;&lt;br /&gt;
&amp;#039;omega&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[pavel@localhost ~]$ ./listdb -p 5483 -q -S&lt;br /&gt;
&amp;#039;omega&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[pavel@localhost ~]$ ./listdb -p 5483 -q o% p%&lt;br /&gt;
&amp;#039;postgres&amp;#039;&lt;br /&gt;
&amp;#039;omega&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[pavel@localhost ~]$ ./listdb -p 5483  o% p%&lt;br /&gt;
postgres&lt;br /&gt;
omega&lt;br /&gt;
&lt;br /&gt;
[pavel@localhost ~]$ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>imported&gt;Pavel</name></author>
	</entry>
</feed>