<?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:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Battisti - Blog &#187; SQL</title>
	<atom:link href="http://battisti.etc.br/category/sql/feed/" rel="self" type="application/rss+xml" />
	<link>http://battisti.etc.br</link>
	<description>Tecnologia, Web e um pouco de cultura inútil</description>
	<lastBuildDate>Mon, 07 May 2012 00:56:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Converter BLOB em VARCHAR / TEXT</title>
		<link>http://battisti.etc.br/2010/03/24/converter-blob-em-varchar-text/</link>
		<comments>http://battisti.etc.br/2010/03/24/converter-blob-em-varchar-text/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 02:05:16 +0000</pubDate>
		<dc:creator>battisti</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://battisti.etc.br/?p=873</guid>
		<description><![CDATA[O Problema Converter um campo do tipo BLOB em algo que eu pudesse enxergar, ou seja um string normal A Solução SELECT log_id, CONVERT&#40;coluna USING latin1&#41; FROM log]]></description>
			<content:encoded><![CDATA[<div class="mwordstext"><h1>O Problema</h1>
<p>Converter um campo do tipo BLOB em algo que eu pudesse enxergar, ou seja um string normal</p>
<h1>A Solução</h1>

<div class="wp_syntax"><div class="code"><pre class="sql"><span class="kw1">SELECT</span>
    log_id<span class="sy0">,</span>
    <span class="kw1">CONVERT</span><span class="br0">&#40;</span>coluna <span class="kw1">USING</span> latin1<span class="br0">&#41;</span>
<span class="kw1">FROM</span> log</pre></div></div>

</div><!-- fim mwordstext -->]]></content:encoded>
			<wfw:commentRss>http://battisti.etc.br/2010/03/24/converter-blob-em-varchar-text/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monitorar Sql Executadas Mysql</title>
		<link>http://battisti.etc.br/2009/12/10/monitorar-sql-executadas-mysql/</link>
		<comments>http://battisti.etc.br/2009/12/10/monitorar-sql-executadas-mysql/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 10:16:04 +0000</pubDate>
		<dc:creator>battisti</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://battisti.etc.br/?p=788</guid>
		<description><![CDATA[Introdução Uma das formas de tentar otimizar o desempenho do MySQL é identificar possíveis query que estejam consumindo recursos exageradamente do seu banco de dados, por padrão o MySQL vem com o recurso de log desabilitado por questões de desempenho e segurança! Ativando os Logs Para ativar o log do MySQL você precisa editar o [...]]]></description>
			<content:encoded><![CDATA[<div class="mwordstext"><h1>Introdução</h1>
<p>Uma das formas de tentar otimizar o desempenho do MySQL é identificar possíveis query que estejam consumindo recursos exageradamente do seu banco de dados, por padrão o MySQL vem com o recurso de log desabilitado por questões de desempenho e segurança!</p>
<h1>Ativando os Logs</h1>
<p>Para ativar o log do MySQL você precisa editar o arquivo /etc/mysql/my.cnf (no ubuntuu) em outras distribuições e windows você terá que achar o arquivo <img src='http://battisti.etc.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Após abrir o arquivo descomente a opção log, tal como segue o exemplo abaixo</p>
<pre>    #
    # * Logging and Replication
    #
    # Both location gets rotated by the cronjob.
    # Be aware that this log type is a performance killer.

    log = /var/log/mysql/mysql.log</pre>
<p>Depois que você ativou os logs será necessário reiniciar o MySQL.</p>
<p>Para ver os logs basta executar no seu terminar o comando.</p>
<pre>    tail -f /var/log/mysql/mysql.log</pre>
<p>Veja como fica:</p>
<p><a href="http://battisti.etc.br/wp-content/uploads/2009/12/image0.png"><img class="aligncenter size-full wp-image-789" title="image{0}" src="http://battisti.etc.br/wp-content/uploads/2009/12/image0.png" alt="image{0}" width="594" height="303" /></a></p>
<h1>Referência</h1>
<p><a href="http://www.howtogeek.com/howto/database/monitor-all-sql-queries-in-mysql/">http://www.howtogeek.com/howto/database/monitor-all-sql-queries-in-mysql/</a></p>
</div><!-- fim mwordstext -->]]></content:encoded>
			<wfw:commentRss>http://battisti.etc.br/2009/12/10/monitorar-sql-executadas-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ERROR: cannot truncate a table referenced in a foreign key &#8211; Postgres</title>
		<link>http://battisti.etc.br/2009/12/03/error-cannot-truncate-a-table-referenced-in-a-foreign-key-postgres/</link>
		<comments>http://battisti.etc.br/2009/12/03/error-cannot-truncate-a-table-referenced-in-a-foreign-key-postgres/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 12:45:55 +0000</pubDate>
		<dc:creator>battisti</dc:creator>
				<category><![CDATA[Postgre]]></category>

		<guid isPermaLink="false">http://battisti.etc.br/?p=756</guid>
		<description><![CDATA[O postgres é um banco de dados relacional sendo assim o TRUNCATE não pode ser executado em uma tabela que seja referenciada por outra tabela através de uma chave estrangeira, então antes de executar o TRUNCATE você precisa desabilitar as TRIGGERS -- desativa as triggers UPDATE &#34;pg_class&#34; SET &#34;reltriggers&#34; = 0 WHERE &#34;relname&#34; = 'tabela'; [...]]]></description>
			<content:encoded><![CDATA[<div class="mwordstext"><p>O postgres é um banco de dados relacional sendo assim o TRUNCATE não pode ser executado em uma tabela que seja referenciada por outra tabela através de uma chave estrangeira, então antes de executar o TRUNCATE você precisa desabilitar as TRIGGERS</p>

<div class="wp_syntax"><div class="code"><pre class="sql"><span class="co1">-- desativa as triggers</span>
<span class="kw1">UPDATE</span> <span class="st0">&quot;pg_class&quot;</span> <span class="kw1">SET</span> <span class="st0">&quot;reltriggers&quot;</span> <span class="sy0">=</span> <span class="nu0">0</span> <span class="kw1">WHERE</span> <span class="st0">&quot;relname&quot;</span> <span class="sy0">=</span> <span class="st0">'tabela'</span>;
&nbsp;
<span class="co1">-- limpa a tabela</span>
<span class="kw1">TRUNCATE</span> tabela
&nbsp;
<span class="co1">-- reativa as triggers</span>
<span class="kw1">UPDATE</span> pg_class <span class="kw1">SET</span> reltriggers <span class="sy0">=</span> <span class="br0">&#40;</span><span class="kw1">SELECT</span> <span class="kw1">COUNT</span><span class="br0">&#40;</span><span class="sy0">*</span><span class="br0">&#41;</span> <span class="kw1">FROM</span> pg_trigger <span class="kw1">WHERE</span> pg_class<span class="sy0">.</span>oid <span class="sy0">=</span> tgrelid<span class="br0">&#41;</span> <span class="kw1">WHERE</span> relname <span class="sy0">=</span> <span class="st0">'tabela'</span>;</pre></div></div>

</div><!-- fim mwordstext -->]]></content:encoded>
			<wfw:commentRss>http://battisti.etc.br/2009/12/03/error-cannot-truncate-a-table-referenced-in-a-foreign-key-postgres/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alterar Quantidade de Caracteres Varchar Postgres</title>
		<link>http://battisti.etc.br/2009/12/03/alterar-quantidade-de-caracteres-varchar-postgres/</link>
		<comments>http://battisti.etc.br/2009/12/03/alterar-quantidade-de-caracteres-varchar-postgres/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 12:27:49 +0000</pubDate>
		<dc:creator>battisti</dc:creator>
				<category><![CDATA[Postgre]]></category>

		<guid isPermaLink="false">http://battisti.etc.br/?p=753</guid>
		<description><![CDATA[Caso você tenha uma coluna varchar e queira alterar a quantidade de caracteres que ela aceita utilize o seguinte: ALTER TABLE tabela ALTER COLUMN coluna TYPE VARCHAR&#40;255&#41;]]></description>
			<content:encoded><![CDATA[<div class="mwordstext"><p>Caso você tenha uma coluna <em>varchar</em> e queira alterar a quantidade de caracteres que ela aceita utilize o seguinte:</p>

<div class="wp_syntax"><div class="code"><pre class="sql"><span class="kw1">ALTER</span> <span class="kw1">TABLE</span> tabela <span class="kw1">ALTER</span> <span class="kw1">COLUMN</span> coluna <span class="kw1">TYPE</span> <span class="kw1">VARCHAR</span><span class="br0">&#40;</span><span class="nu0">255</span><span class="br0">&#41;</span></pre></div></div>

<p><img id="myFxSearchImg" style="border: medium none; position: absolute; z-index: 2147483647; opacity: 0.6; display: none;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADsElEQVR4nK2VTW9VVRSGn33OPgWpYLARbKWhQlCHTogoSkjEkQwclEQcNJEwlfgD/AM6NBo1xjhx5LyJ0cYEDHGkJqhtBGKUpm3SFii3vb2956wPB/t+9raEgSs52fuus89613rftdcNH8/c9q9++oe/Vzb5P+3McyNcfm2CcPj9af9w6gwjTwzvethx3Bx3x8xwd1wNM8dMcTNUHTfFLPnX6nVmZpeIYwf3cWD/PhbrvlPkblAzVFurKS6GmmGqqComaS+qmBoTI0Ncu3mXuGvWnrJ+ZSxweDgnkHf8ndVTdbiT3M7cQp2Z31dRTecHAfqydp4ejhwazh6Zezfnu98E1WIQwB3crEuJ2Y45PBTAQUVR9X4At66AppoEVO1Q8sgAOKJJjw6Am6OquDmvHskZ3R87gW+vlHz98zpmiqphkkRVbQtsfPTOC30lJKFbFTgp83bWh7Zx/uX1B6w3hI3NkkZTqEpBRDBRzG2AQHcwcYwEkOGkTERREbLQ/8HxJwuW7zdYrzfZ2iopy4qqEspKaDYravVm33k1R91Q69FA1VBRzFIVvXbx5AgXT44A8MWP81yfu0utIR2aVK3vfCnGrcUNxp8a7gKYKiLCvY2SUvo/aNtnM3e49ucK9S3p0aDdaT0UAVsKi2tVi6IWwNL9JvdqTdihaz79/l+u/rHMxmaJVMLkS2OoKKLWacdeE3IsSxctc2D5Qcl6vUlVVgNt+fkPPcFFmTw1xruvT7SCd7nuVhDQvECzJH90h0azRKoKFRkAmP5lKTWAGRdefoZL554FQNUxB92WvYeA5UN4PtSqwB2phKqsqMpBgAunRhFR3j49zuU3jnX8k6fHEQKXzh1jbmGDuYU6s4t1rt6socUeLLZHhYO2AHSHmzt19ihTZ48O8Hzl/AmunD/BjTvrvPfNX3hWsNpwJCvwYm+ngug4UilSCSq6k8YPtxDwfA+WRawIWFbgscDiULcCEaWqBFOlrLazurupOSHLqGnEKJAY8TwBEHumqUirAjNm52vEPPRV4p01XXMPAQhUBjcWm9QZwijwokgAeYHlHYA06KR1cT6ZvoV56pDUJQEjw0KeaMgj1hPEY4vz2A4eW0/e1qA7KtQdsxTYAG0H3iG4xyK1Y+xm7XmEPOJZDiENzLi2WZHngeOjj2Pe+sMg4GRYyLAsx7ME4FnsyTD9pr0PEc8zPGRAwKXBkYOPEd96cZRvf11g9MDe7e3R4Z4Q+vyEnn3P4t0XzK/W+ODN5/kPfRLewAJVEQ0AAAAASUVORK5CYII%3D" alt="" width="24" height="24" /></p>
</div><!-- fim mwordstext -->]]></content:encoded>
			<wfw:commentRss>http://battisti.etc.br/2009/12/03/alterar-quantidade-de-caracteres-varchar-postgres/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Split String no Mysql</title>
		<link>http://battisti.etc.br/2009/10/10/split-string-no-mysql/</link>
		<comments>http://battisti.etc.br/2009/10/10/split-string-no-mysql/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 14:44:10 +0000</pubDate>
		<dc:creator>battisti</dc:creator>
				<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://battisti.etc.br/?p=673</guid>
		<description><![CDATA[O Problema Executar o comando split no mysql A função CREATE FUNCTION SPLIT_STR&#40; x VARCHAR&#40;255&#41;, delim VARCHAR&#40;12&#41;, pos INT &#41; RETURNS VARCHAR&#40;255&#41; RETURN REPLACE&#40;SUBSTRING&#40;SUBSTRING_INDEX&#40;x, delim, pos&#41;, LENGTH&#40;SUBSTRING_INDEX&#40;x, delim, pos -1&#41;&#41; + 1&#41;, delim, ''&#41;; &#160; SELECT SPLIT_STR&#40;string, delimiter, POSITION&#41; Possíveis Erros de Execução This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA [...]]]></description>
			<content:encoded><![CDATA[<div class="mwordstext"><h1>O Problema</h1>
<p>Executar o comando split no mysql<span id="more-673"></span></p>
<h1>A função</h1>

<div class="wp_syntax"><div class="code"><pre class="sql"><span class="kw1">CREATE</span> <span class="kw1">FUNCTION</span> SPLIT_STR<span class="br0">&#40;</span>
  x <span class="kw1">VARCHAR</span><span class="br0">&#40;</span><span class="nu0">255</span><span class="br0">&#41;</span><span class="sy0">,</span>
  delim <span class="kw1">VARCHAR</span><span class="br0">&#40;</span><span class="nu0">12</span><span class="br0">&#41;</span><span class="sy0">,</span>
  pos <span class="kw1">INT</span>
<span class="br0">&#41;</span>
<span class="kw1">RETURNS</span> <span class="kw1">VARCHAR</span><span class="br0">&#40;</span><span class="nu0">255</span><span class="br0">&#41;</span>
<span class="kw1">RETURN</span> <span class="kw1">REPLACE</span><span class="br0">&#40;</span><span class="kw1">SUBSTRING</span><span class="br0">&#40;</span>SUBSTRING_INDEX<span class="br0">&#40;</span>x<span class="sy0">,</span> delim<span class="sy0">,</span> pos<span class="br0">&#41;</span><span class="sy0">,</span>
       <span class="kw1">LENGTH</span><span class="br0">&#40;</span>SUBSTRING_INDEX<span class="br0">&#40;</span>x<span class="sy0">,</span> delim<span class="sy0">,</span> pos <span class="sy0">-</span><span class="nu0">1</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="nu0">1</span><span class="br0">&#41;</span><span class="sy0">,</span>
       delim<span class="sy0">,</span> <span class="st0">''</span><span class="br0">&#41;</span>;
&nbsp;
<span class="kw1">SELECT</span> SPLIT_STR<span class="br0">&#40;</span>string<span class="sy0">,</span> delimiter<span class="sy0">,</span> <span class="kw1">POSITION</span><span class="br0">&#41;</span></pre></div></div>

<h1>Possíveis Erros de Execução</h1>
<h4>This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary</h4>
<p>1. Entre como SUPER usuário no banco;</p>
<p><a name="wp1356778"> </a></p>
<p>2. Mude a variável de ambiente:</p>
<p><a name="wp1356780"> </a></p>
<p><span style="font-weight: bold;"> GLOBAL log_bin_trust_function_creators = 1</span>;<a name="wp1356782"></a></p>
<h1>Referência</h1>
<p><a href="http://www.ispirer.com/doc/sqlways39/Output/SQLWays-1-365.html">http://www.ispirer.com/doc/sqlways39/Output/SQLWays-1-365.html</a><br />
<a href="http://blog.fedecarg.com/2009/02/22/mysql-split-string-function/">http://blog.fedecarg.com/2009/02/22/mysql-split-string-function/</a></p>
<p>Aprendi isso junto com o meu camarada:</p>
<p><a href="http://weber.eti.br/">http://weber.eti.br/</a></p>
</div><!-- fim mwordstext -->]]></content:encoded>
			<wfw:commentRss>http://battisti.etc.br/2009/10/10/split-string-no-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Postgres Permission denied Is Server Running</title>
		<link>http://battisti.etc.br/2009/09/28/postgres-permission-denied-is-server-running/</link>
		<comments>http://battisti.etc.br/2009/09/28/postgres-permission-denied-is-server-running/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 13:13:04 +0000</pubDate>
		<dc:creator>battisti</dc:creator>
				<category><![CDATA[Postgre]]></category>

		<guid isPermaLink="false">http://battisti.etc.br/?p=632</guid>
		<description><![CDATA[Introdução Este fim de semana eu @battisti e o @asfelix tivemos um problema durante o processo de instalação do php com o postgres, depois de fazer todas as configurações o banco continuava a dar a seguinte mensagem de erro: Permission denied Is the server running on host "localhost" and accepting TCP/IP connections on port 5432? [...]]]></description>
			<content:encoded><![CDATA[<div class="mwordstext"><h1>Introdução</h1>
<p>Este fim de semana eu @battisti e o @asfelix tivemos um problema durante o processo de instalação do php com o postgres, depois de fazer todas as configurações o banco continuava a dar a seguinte mensagem de erro:</p>
<pre>Permission denied Is the server running on host "localhost" and accepting TCP/IP connections on port 5432?</pre>
<h1>Arquivos de Configuração</h1>
<p>O postgres possui basicamente 2 arquivos de configurações responsáveis pela conexão, eles são:</p>
<ol>
<li>postgresql.conf aqui você precisa definir que o seu banco de dados irá receber conexão através de TCP/IP, até a versão 7.9 do postgres esta configuração era feita assim:
<pre><code>tcpip_socket = true</code></pre>
<p><code>A partir da versão 8 isso é feito assim:</code> listen_addresses = ‘*’ port = 5432</li>
<li>pg_hba.conf este é o arquivo que define quem pode acessar o que e de qual forma: para permitir que qualquer IP possa acessar qualquer banco adicione esta linha no arquivo host    all          all         0.0.0.0 0.0.0.0       password Se quiser que apenas 1 IP específico possa acessar a máquina então host    all          all         200.200.200.200/32      password  A palavra password define que para você acessar o banco tem que digitar a senha, existe a palavra trust que diz ao banco para nao pedir senha então tenha cuidado com este tipo de configuração</li>
</ol>
<p>Após mexer nestes dois arquivos reinicie o banco.  Para acessar o seu banco através do terminal use o comando:  psql -h 200.200.200.200 -U postgres -d banco  Fique atento aos firewall pois eles podem barrar a sua conexão com o banco, e mais uma dica <span><span><span>para que a conexão possa ser estabelecida no CentOS é necessário desativar o SELinux, que por padrão na instalação fica ativado:</span></span></span> vim /etc/sysconfig/selinux  e configure  o SELINUX=disabled</p>
<h1>Exemplo de Conexão PHP para Teste</h1>

<div class="wp_syntax"><div class="code"><pre class="php">try <span class="br0">&#123;</span>
	<span class="re0">$db</span> <span class="sy0">=</span> <span class="kw2">new</span> PDO<span class="br0">&#40;</span><span class="st0">&quot;pgsql:host=localhost dbname=datacentro user=postgres password=data1234&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
	<span class="re0">$sql</span> <span class="sy0">=</span> <span class="st_h">'SELECT * FROM pessoa'</span><span class="sy0">;</span>
	<span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re0">$db</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>query<span class="br0">&#40;</span><span class="re0">$sql</span><span class="br0">&#41;</span> <span class="kw1">as</span> <span class="re0">$row</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
		<span class="kw1">print</span> <span class="re0">$row</span><span class="br0">&#91;</span><span class="st_h">'cod'</span><span class="br0">&#93;</span> <span class="sy0">.</span> <span class="st0">&quot;<span class="es1">\t</span>&quot;</span><span class="sy0">;</span>
		<span class="kw1">print</span> <span class="re0">$row</span><span class="br0">&#91;</span><span class="st_h">'nome'</span><span class="br0">&#93;</span> <span class="sy0">.</span> <span class="st0">&quot;<span class="es1">\t</span>&quot;</span><span class="sy0">;</span>
	<span class="br0">&#125;</span>
&nbsp;
<span class="br0">&#125;</span> catch <span class="br0">&#40;</span>PDOException  <span class="re0">$e</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
   <span class="kw1">print</span> <span class="re0">$e</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>getMessage<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span>
<a href="http://www.php.net/die"><span class="kw3">die</span></a><span class="br0">&#40;</span><span class="st0">&quot;fim&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>

<h1>Referência</h1>
<p>http://www.cyberciti.biz/faq/postgresql-remote-access-or-connection/</p>
<p>http://dickrips.wordpress.com/2009/01/16/apache-php-postgresql-no-centos-e-fedora</p>
</div><!-- fim mwordstext -->]]></content:encoded>
			<wfw:commentRss>http://battisti.etc.br/2009/09/28/postgres-permission-denied-is-server-running/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pg_Restore apenas de algumas tabelas</title>
		<link>http://battisti.etc.br/2009/08/15/pg_restore-apenas-de-algumas-tabelas/</link>
		<comments>http://battisti.etc.br/2009/08/15/pg_restore-apenas-de-algumas-tabelas/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 00:14:09 +0000</pubDate>
		<dc:creator>battisti</dc:creator>
				<category><![CDATA[Postgre]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://battisti.etc.br/?p=609</guid>
		<description><![CDATA[Geralmente temos nos nossos banco de dados uma tabela de log, e ela é o terror dos restores pois o número de registros dela geralmente é igual ou maior do que a soma de todos os registros das demais tabelas do banco, sendo assim, em restores de testes ou apenas de controle não queremos ficar [...]]]></description>
			<content:encoded><![CDATA[<div class="mwordstext"><p>Geralmente temos nos nossos banco de dados uma tabela de log, e ela é o terror dos restores pois o número de registros dela geralmente é igual ou maior do que a soma de todos os registros das demais tabelas do banco, sendo assim, em restores de testes ou apenas de controle não queremos ficar perdendo tempo esperando que os logs sejam restaurados, sendo assim é possível durante um restore pedir que o postgres ignore algumas tabelas para isso:<span id="more-609"></span></p>

<div class="wp_syntax"><div class="code"><pre class="sql">pg_restore <span class="sy0">-</span>l dump<span class="sy0">.</span>tar &amp;gt; lista<span class="sy0">.</span>txt
pg_restore <span class="sy0">-</span>L lista<span class="sy0">.</span>txt <span class="sy0">-</span>d banco <span class="sy0">-</span>U usuario</pre></div></div>

<p>Este arquivo lista.txt é uma relação com todos os objetos que estão dentro do arquivo de backup, basta abrir o arquivo e remover as tabelas que você não quer que o postgres restaure.</p>
</div><!-- fim mwordstext -->]]></content:encoded>
			<wfw:commentRss>http://battisti.etc.br/2009/08/15/pg_restore-apenas-de-algumas-tabelas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remover Zeros a Esquerda Postgres / SQL</title>
		<link>http://battisti.etc.br/2009/07/22/remover-zeros-a-esquerda-postgres-sql/</link>
		<comments>http://battisti.etc.br/2009/07/22/remover-zeros-a-esquerda-postgres-sql/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 12:40:18 +0000</pubDate>
		<dc:creator>battisti</dc:creator>
				<category><![CDATA[Postgre]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://battisti.etc.br/?p=582</guid>
		<description><![CDATA[Introdução Caso você precise remover os zeros a esquerda/direita através de uma SQL você pode usar o ltrm (esquerda) e o ltrim (direita). Exemplo SELECT  ltrim(colunaA,0) FROM Isso vai retornar os dados da colunaA sem nenhum zero a esquerda]]></description>
			<content:encoded><![CDATA[<div class="mwordstext"><h1>Introdução</h1>
<p>Caso você precise remover os zeros a esquerda/direita através de uma SQL você pode usar o ltrm (esquerda) e o ltrim (direita).</p>
<h1><span id="more-582"></span>Exemplo</h1>
<p>SELECT  ltrim(colunaA,0) FROM</p>
<p>Isso vai retornar os dados da colunaA sem nenhum zero a esquerda</p>
</div><!-- fim mwordstext -->]]></content:encoded>
			<wfw:commentRss>http://battisti.etc.br/2009/07/22/remover-zeros-a-esquerda-postgres-sql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>pg_dump / pg_restore Sem Senha</title>
		<link>http://battisti.etc.br/2009/07/14/pg_dump-pg_restore-sem-senha/</link>
		<comments>http://battisti.etc.br/2009/07/14/pg_dump-pg_restore-sem-senha/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 22:21:55 +0000</pubDate>
		<dc:creator>battisti</dc:creator>
				<category><![CDATA[Postgre]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://battisti.etc.br/?p=565</guid>
		<description><![CDATA[pg_dump / pg_restore Sem Senha]]></description>
			<content:encoded><![CDATA[<div class="mwordstext"><h1>Introdução</h1>
<p>Uma tarefas básica de todo DBA é cuidar para que os <em>backups</em> sejam bem feitos, no postgres as duas ferramentas básicas para isso são os pg_dump e o pg_restore.</p>
<p><span id="more-565"></span>Quando se executa o pg_dump será solicitada a senha do banco, porém em muitos casos o script de backup é gerado via cron ou outro mecanismo automatizado sendo assim existem 2 possibilidades para que o pg_dump não pesa a senha:</p>
<ul>
<li>Dentro do ph_hba.conf configurar como trust a conexão local, eu não aconselho isso por diversos motivos <img src='http://battisti.etc.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Definir a senha no arquivo .pgpass</li>
</ul>
<h1>Construir o Arquivo .pgpass</h1>
<p>O arquivo .pgpass irá armazenar informações de autenticação no banco postgres, sua estrutura básica é:</p>
<pre><tt><em>hostname</em></tt>:<tt><em>port</em></tt>:<tt><em>database</em></tt>:<tt><em>username</em></tt>:<tt><em>password
</em></tt></pre>
<h3><tt>Dicas:<br />
</tt></h3>
<ul>
<li><tt> <em>hostname</em> é endereço IP de onde virá a conexão, caso seja uma conexão local deixar localhost;</tt></li>
<li><tt>Caso não queira especificar um dos parâmetros coloque *</tt></li>
</ul>
<h3>Exemplo:</h3>
<p>localhost:*:meu_banco:usuario:senha</p>
<p>Por fim mas não menos importante o arquivo .pgpass deve ficar na pasta home do usuário que irá solicitar o backup, além disso, as permissões do arquivo OBRIGATORIAMENTE devem ser 0600;</p>
<p>ou seja:</p>
<pre>chmod 0600 .pgpass</pre>
<h1>Referência</h1>
<p><a href="http://www.postgresql.org/docs/8.1/static/libpq-pgpass.html">http://www.postgresql.org/docs/8.1/static/libpq-pgpass.html</a></p>
</div><!-- fim mwordstext -->]]></content:encoded>
			<wfw:commentRss>http://battisti.etc.br/2009/07/14/pg_dump-pg_restore-sem-senha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recuperar Hora e Minuto de um Campo Timestamp Postgres</title>
		<link>http://battisti.etc.br/2009/07/06/recuperar-hora-e-minuto-de-um-campo-timestamp-postgres/</link>
		<comments>http://battisti.etc.br/2009/07/06/recuperar-hora-e-minuto-de-um-campo-timestamp-postgres/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 21:49:00 +0000</pubDate>
		<dc:creator>battisti</dc:creator>
				<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://battisti.etc.br/?p=561</guid>
		<description><![CDATA[Introdução Recuperar o valor de horas e minutos a partir de um campo do tipo timestamp. Como Fazer SELECT to_char&#40; pss_nascimento, 'YYYY-MM-DD HH24:MI'&#41; FROM pessoa Apenas escrevi este post pois não consegui achar no próprio manual do postgres como fazer isto.]]></description>
			<content:encoded><![CDATA[<div class="mwordstext"><h1>Introdução</h1>
<p>Recuperar o valor de horas e minutos a partir de um campo do tipo <em>timestamp</em>.</p>
<h1><span id="more-561"></span>Como Fazer</h1>

<div class="wp_syntax"><div class="code"><pre class="sql"><span class="kw1">SELECT</span>
to_char<span class="br0">&#40;</span> pss_nascimento<span class="sy0">,</span> <span class="st0">'YYYY-MM-DD HH24:MI'</span><span class="br0">&#41;</span>
<span class="kw1">FROM</span> pessoa</pre></div></div>

<p>Apenas escrevi este post pois não consegui achar no próprio manual do postgres como fazer isto. <a href="http://archives.postgresql.org/pgsql-novice/2002-10/msg00151.php"></a></p>
</div><!-- fim mwordstext -->]]></content:encoded>
			<wfw:commentRss>http://battisti.etc.br/2009/07/06/recuperar-hora-e-minuto-de-um-campo-timestamp-postgres/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

