title: Postgresql - Timezones when date range crossses into BST
body: <p>I have a very simple table that contains a start_date field (<code>timestampz</code>) that stores a <code>UTC datetime</code> value. I need to return the dates contained in the table, adjusted for <code>British Summer Time</code>(BST), but the problem i'm having is that AT TIME ZONE <code>BST</code> adds 1 hour to <code>UTC</code> dates irrespective of their value; If the date happened in <code>February</code> (before BST started), the <code>UTC</code> value is the correct value. If the date value is from <code>March</code> (after BST started), then the <code>UTC</code> value needs <code>+01</code> added to it.</p>
  
  <p><strong>Table Data</strong></p>
  
  <pre><code>2014-02-16 00:00:000+00
  2014-04-16 00:00:000+00
  
  SELECT start_date AT TIME ZONE 'BST' from t1 
  </code></pre>
  
  <p>adds + 01 hour to both values<br/></p>
  
  <pre><code>2014-02-16 00:01:000
  2014-04-16 00:01:000
  </code></pre>
  
  <p>Is there a simple way to achieve the following?;<br/></p>
  
  <pre><code>2014-02-16 00:00:000
  2014-04-16 00:01:000
  </code></pre>