<?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>Kristian Lunde &#187; PostgreSQL</title>
	<atom:link href="http://www.klunde.net/tag/postgresql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.klunde.net</link>
	<description>www.klunde.net</description>
	<lastBuildDate>Sun, 18 Jul 2010 21:00:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PostgreSQL cheat sheet</title>
		<link>http://www.klunde.net/2008/05/12/postgresql-cheat-sheet/</link>
		<comments>http://www.klunde.net/2008/05/12/postgresql-cheat-sheet/#comments</comments>
		<pubDate>Mon, 12 May 2008 19:11:19 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[PostgreSQL]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=17</guid>
		<description><![CDATA[
			
				
			
		
I often have a blank hole or two when it comes to the basic PostgreSQL commands, and have to do a look up in the documentation, Kitt Hodsden has posted a nice little cheat sheet with the most common basic postgreSQL commands.
URL: http://kitt.hodsden.org/postgresql
]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F05%2F12%2Fpostgresql-cheat-sheet%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2008_2F05_2F12_2Fpostgresql-cheat-sheet_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F05%2F12%2Fpostgresql-cheat-sheet%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I often have a blank hole or two when it comes to the basic PostgreSQL commands, and have to do a look up in the documentation, Kitt Hodsden has posted a nice little cheat sheet with the most common basic postgreSQL commands.</p>
<p>URL: <a href="http://kitt.hodsden.org/postgresql" onclick="urchinTracker('/outgoing/kitt.hodsden.org/postgresql?referer=');">http://kitt.hodsden.org/postgresql</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2008/05/12/postgresql-cheat-sheet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My first introduction to java and databases</title>
		<link>http://www.klunde.net/2008/05/05/my-first-introduction-to-java-and-databases/</link>
		<comments>http://www.klunde.net/2008/05/05/my-first-introduction-to-java-and-databases/#comments</comments>
		<pubDate>Mon, 05 May 2008 20:14:57 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[JDBC]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=9</guid>
		<description><![CDATA[
			
				
			
		
The other day I did a complete reconfiguration of java on my system. Tonight I started to play around with java and postgresql. I installed PostgreSQL 8.2 (yes I know 8.3 is out there), and downloaded the jdbc driver for PosgreSQL.
PostgreSQL
After installing PostgreSQL, you have to add a user to the authorization file pg_hba.conf located [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F05%2F05%2Fmy-first-introduction-to-java-and-databases%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2008_2F05_2F05_2Fmy-first-introduction-to-java-and-databases_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F05%2F05%2Fmy-first-introduction-to-java-and-databases%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>The other day I did a complete reconfiguration of java on my system. Tonight I started to play around with java and postgresql. I installed PostgreSQL 8.2 (yes I know 8.3 is out there), and downloaded the jdbc driver for PosgreSQL.</p>
<h3>PostgreSQL</h3>
<p>After installing PostgreSQL, you have to add a user to the authorization file pg_hba.conf located in /etc/postgresql/8.x/main on a ubuntu system, remember to restart the postgreSQL server after editing pg_hba.conf. When that is done add the same user to the postgreSQL server either by using postgreSQL&#8217;s <em><strong>createuser</strong></em> function or by logging into the postgreSQL server and doing a SQL CREATE USER, I did the latter one.</p>
<div class="geshi no sql">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">CREATE</span> USER kristian <span class="kw1">WITH</span> PASSWORD <span class="st0">&#39;xxxxxxxx&#39;</span> CREATEDB;</div>
</li>
</ol>
</div>
<p>This enables me to do a regular access of the database with:</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">kristian<span class="sy0">@</span>Saturn:~$ psql -U kristian crawler</div>
</li>
<li class="li1">
<div class="de1">Welcome to psql <span class="nu0">8.2</span><span class="nu0">.7</span>, the PostgreSQL interactive terminal.<span class="sy0">&lt;/</span>code<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">Type: &nbsp;\copyright <span class="kw1">for</span> distribution terms</div>
</li>
<li class="li1">
<div class="de1">\h <span class="kw1">for</span> <span class="kw3">help</span> with SQL commands</div>
</li>
<li class="li1">
<div class="de1">\? <span class="kw1">for</span> <span class="kw3">help</span> with psql commands</div>
</li>
<li class="li1">
<div class="de1">\g or terminate with semicolon to execute query</div>
</li>
<li class="li1">
<div class="de1">\q to quit</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re2">crawler=</span><span class="co0">#</span></div>
</li>
</ol>
</div>
<p>My table:</p>
<div class="geshi no sql">
<ol>
<li class="li1">
<div class="de1">crawler<span class="sy0">=</span><span class="co2"># \d document;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">TABLE</span> <span class="st0">&quot;public.document&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">COLUMN</span> &nbsp; &nbsp; <span class="sy0">|</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Type &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">|</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Modifiers</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span></div>
</li>
<li class="li1">
<div class="de1">id &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="sy0">|</span> integer &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">|</span> <span class="kw1">NOT</span> <span class="kw1">NULL</span> <span class="kw1">DEFAULT</span> <span class="kw1">NEXTVAL</span><span class="br0">&#40;</span><span class="st0">&#39;document_id_seq&#39;</span>::regclass<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">url &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">|</span> text &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="sy0">|</span> <span class="kw1">NOT</span> <span class="kw1">NULL</span></div>
</li>
<li class="li1">
<div class="de1">document &nbsp; &nbsp; &nbsp;<span class="sy0">|</span> text &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="sy0">|</span> <span class="kw1">NOT</span> <span class="kw1">NULL</span></div>
</li>
<li class="li1">
<div class="de1">ts_downloaded <span class="sy0">|</span> timestamp without time zone <span class="sy0">|</span> <span class="kw1">DEFAULT</span> now<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
</ol>
</div>
<p>Data in the table:</p>
<div class="geshi no sql">
<ol>
<li class="li1">
<div class="de1">crawler<span class="sy0">=</span><span class="co2"># select * from document;</span></div>
</li>
<li class="li1">
<div class="de1">id <span class="sy0">|</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;url &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="sy0">|</span> document <span class="sy0">|</span> &nbsp; &nbsp; &nbsp; ts_downloaded</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></div>
</li>
<li class="li1">
<div class="de1"><span class="nu0">1</span> <span class="sy0">|</span> http://www.klunde.net <span class="sy0">|</span> jalla &nbsp; &nbsp;<span class="sy0">|</span> <span class="nu0">2008</span><span class="nu0">-04</span><span class="nu0">-19</span> <span class="nu0">21</span>:<span class="nu0">11</span>:<span class="nu0">11.805482</span></div>
</li>
</ol>
</div>
<h3>Java</h3>
<p>First thing to get the postgreSQL jdbc driver to work is to add it to the java classpath, and of course copy the actual jar file to its correct location, for instance<em> /usr/lib/jvm/java-6-sun-1.6.0.03/jre/ext/lib/</em>which is my java library path.<br />
My classpath:</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="sy0">/</span>usr<span class="sy0">/</span>lib<span class="sy0">/</span>jvm<span class="sy0">/</span>java<span class="nu0">-6</span>-sun<span class="nu0">-1.6</span><span class="nu0">.0</span><span class="nu0">.03</span><span class="sy0">/</span>lib:<span class="sy0">/</span>usr<span class="sy0">/</span>lib<span class="sy0">/</span>jvm<span class="sy0">/</span>java<span class="nu0">-6</span>-sun<span class="nu0">-1.6</span><span class="nu0">.0</span><span class="nu0">.03</span><span class="sy0">/</span>jre<span class="sy0">/</span>ext<span class="sy0">/</span>lib<span class="sy0">/</span>postgresql<span class="nu0">-8.3</span><span class="nu0">-603</span>.jdbc4.jar:.</div>
</li>
</ol>
</div>
<p>Now its about time to write some actual code:</p>
<div class="geshi no java">
<ol>
<li class="li1">
<div class="de1"><span class="co2">import java.sql.Connection;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import java.sql.DriverManager;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import java.sql.PreparedStatement;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import java.sql.ResultSet;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import java.sql.SQLException;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import java.sql.Statement; &lt;/code&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">public</span> <span class="kw2">class</span> DatabaseTest</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">private</span> <span class="kw3">Connection</span> connection = <span class="kw2">null</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">private</span> <span class="kw2">static</span> <span class="kw2">final</span> <span class="kw3">String</span> USERNAME = <span class="st0">&quot;XXXXX&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">private</span> <span class="kw2">static</span> <span class="kw2">final</span> <span class="kw3">String</span> PASSWORD = <span class="st0">&quot;XXXXX&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">private</span> <span class="kw2">static</span> <span class="kw2">final</span> <span class="kw3">String</span> <span class="kw3">URL</span> = <span class="st0">&quot;jdbc:postgresql:&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">private</span> <span class="kw2">static</span> <span class="kw2">final</span> <span class="kw3">String</span> DATABASE = <span class="st0">&quot;crawler&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">public</span> DatabaseTest<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">try</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">connection = <span class="kw3">DriverManager</span>.<span class="me1">getConnection</span><span class="br0">&#40;</span><span class="kw3">URL</span> + DATABASE, USERNAME, PASSWORD<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">ResultSet</span> rs = doQuery<span class="br0">&#40;</span><span class="st0">&quot;SELECT * FROM document&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">rs.<span class="me1">next</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">System</span>.<span class="me1">out</span>.<span class="me1">println</span><span class="br0">&#40;</span>rs.<span class="me1">getString</span><span class="br0">&#40;</span><span class="nu0">2</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">catch</span> <span class="br0">&#40;</span><span class="kw3">SQLException</span> e<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">System</span>.<span class="me1">out</span>.<span class="me1">println</span><span class="br0">&#40;</span><span class="st0">&quot;Database Exception!&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">System</span>.<span class="me1">out</span>.<span class="me1">println</span><span class="br0">&#40;</span>e.<span class="me1">toString</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">e.<span class="me1">printStackTrace</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">public</span> <span class="kw3">ResultSet</span> doQuery<span class="br0">&#40;</span><span class="kw3">String</span> sql<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">ResultSet</span> rs<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">try</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">Statement</span> stmt = connection.<span class="me1">createStatement</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">rs = stmt.<span class="me1">executeQuery</span><span class="br0">&#40;</span>sql<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">return</span> rs<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">catch</span> <span class="br0">&#40;</span><span class="kw3">SQLException</span> e<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">e.<span class="me1">printStackTrace</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">return</span> <span class="kw2">null</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>Trying to execute my script:</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">kristian<span class="sy0">@</span>Saturn:~<span class="sy0">/</span>workspace<span class="sy0">/</span>crawler$ &nbsp;javac DatabaseTest.java</div>
</li>
<li class="li1">
<div class="de1">kristian<span class="sy0">@</span>Saturn:~<span class="sy0">/</span>workspace<span class="sy0">/</span>crawler$ &nbsp;java -Djdbc.<span class="re2">drivers=</span>org.postgresql.Driver DatabaseTest</div>
</li>
<li class="li1">
<div class="de1">http:<span class="sy0">//</span>www.klunde.net</div>
</li>
</ol>
</div>
<p>It works <img src='http://www.klunde.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  The installation and initial setup went pretty much by the book, but as a PHP developer I must say that I&#8217;m a little bit disappointed, JDBC cannot compare itself to the PHP PDO extension yet. But then again, maybe I just need to get to know the JDBC library better. Anyhow it was fun writing this little java app and refreshing some of my java skills.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2008/05/05/my-first-introduction-to-java-and-databases/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
