<?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>Sokolov blog &#187; PostgreSQL</title>
	<atom:link href="http://blog.sokolov.me/category/postgresql/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sokolov.me</link>
	<description>всякие заметки, в-основном freebsd,linux</description>
	<lastBuildDate>Sun, 29 Aug 2010 18:42:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PosrgreSQL: Заметки</title>
		<link>http://blog.sokolov.me/2010/02/17/posrgresql-notes/</link>
		<comments>http://blog.sokolov.me/2010/02/17/posrgresql-notes/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 20:56:56 +0000</pubDate>
		<dc:creator>pavel</dc:creator>
				<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Без рубрики]]></category>
		<category><![CDATA[postgres]]></category>

		<guid isPermaLink="false">http://blog.sokolov.me/?p=528</guid>
		<description><![CDATA[Хорошие заметки по postgres.
Массивы:
Преобразование массивов:
Оригинал тут

select client_id, array_agg(order_id) from simple_table group by client_id;
select * from explode_array(array[1,2,3,4]);

Парсинг массивов postgres в php:
http://dklab.ru/lib/DB_Pgsql_Type/
Служебная информация:
Описание схемы:
http://www.postgresql.org/docs/8.4/interactive/information-schema.html
Выбор информации обо всех таблицах:
SELECT c.table_schema, c.table_name,
 array_agg(CAST(c.column_name AS text)) as col_names,
 array_agg(DISTINCT CAST(c.data_type AS text)) As dat_types
 FROM information_schema.columns AS c
GROUP BY c.table_schema, c.table_name;

Либа для автоматических тестов PGUNIT:
http://dklab.ru/lib/dklab_pgunit/
Бэкапы
Хорошая статья про ON-LINE backup http://www.opennet.ru/base/sys/postgresql_online_backup.txt.html
Для [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.postgres.cz/index.php/PostgreSQL_SQL_Tricks">Хорошие заметки по postgres</a>.</p>
<h4>Массивы:</h4>
<p><strong>Преобразование массивов:</strong><br />
Оригинал <a href="http://www.depesz.com/index.php/2008/11/14/waiting-for-84-array-aggregate-and-array-unpacker/">тут</a><br />
<code><br />
select client_id, array_agg(order_id) from simple_table group by client_id;<br />
select * from explode_array(array[1,2,3,4]);<br />
</code><br />
<strong>Парсинг массивов postgres в php:</strong><br />
<a href="http://dklab.ru/lib/DB_Pgsql_Type/">http://dklab.ru/lib/DB_Pgsql_Type/</a></p>
<h4>Служебная информация:</h4>
<p><strong>Описание схемы:</strong><br />
<a href="http://www.postgresql.org/docs/8.4/interactive/information-schema.html">http://www.postgresql.org/docs/8.4/interactive/information-schema.html</a></p>
<p><strong>Выбор информации обо всех таблицах:</strong><br />
<code>SELECT c.table_schema, c.table_name,<br />
 array_agg(CAST(c.column_name AS text)) as col_names,<br />
 array_agg(DISTINCT CAST(c.data_type AS text)) As dat_types<br />
 FROM information_schema.columns AS c<br />
GROUP BY c.table_schema, c.table_name;<br />
</code></p>
<p><strong>Либа для автоматических тестов PGUNIT:</strong><br />
<a href="http://dklab.ru/lib/dklab_pgunit/">http://dklab.ru/lib/dklab_pgunit/</a></p>
<h4>Бэкапы</h4>
<p>Хорошая статья про ON-LINE backup <a href="http://www.opennet.ru/base/sys/postgresql_online_backup.txt.html">http://www.opennet.ru/base/sys/postgresql_online_backup.txt.html</a><br />
Для того, чтобы сделать простой бэкап в формате SQL:<br />
<code>pg_dump --inserts -U pavel -W database_name > /home/pavel/backup.sql</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sokolov.me/2010/02/17/posrgresql-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
