<?xml version="1.0" encoding="UTF-8"?>
<schedule>
 <conference>
  <title>PGCon 2007</title>
  <subtitle>The PostgreSQL Conference</subtitle>
  <venue>University of Ottawa</venue>
  <city>Ottawa</city>
  <start>2007-05-21</start>
  <end>2007-05-24</end>
  <days>4</days>
  <release>Confirmed</release>
  <day_change>09:00</day_change>
  <timeslot_duration>00:30</timeslot_duration>
 </conference>
 <day date="2007-05-21" index="1">
  <room name="SITE A0150">
  </room>
  <room name="SITE F0126">
   <event id="8">
    <start>09:00</start>
    <duration>03:00</duration>
    <room>SITE F0126</room>
    <tag>pgintrohacking</tag>
    <title>Introduction to Hacking PostgreSQL</title>
    <subtitle></subtitle>
    <track>Tutorial</track>
    <type>Workshop</type>
    <language>English</language>
    <abstract>An introduction to how to modify the PostgreSQL source code. This tutorial is intended for programmers with some knowledge of C, who would like to understand how PostgreSQL works and how to modify it.</abstract>
    <description>This tutorial will introduce programmers to the basic knowledge required to modify PostgreSQL. The first 90 minutes will discuss fundamental properties of the PostgreSQL architecture, common coding conventions and useful development tools for PostgreSQL work. The second 90 minutes will walk the audience through an example patch for PostgreSQL.

This talk will take the same basic approach that was taken for the "Introduction to Hacking PostgreSQL" talk that was given at the 2006 PostgreSQL Anniversary Summit, but many of the details will vary: I'll present a completely different example patch, and adjust the introductory material accordingly. The goal is to make this talk interesting for those who saw the previous tutorial, while still remaining  accessible to newcomers.</description>
    <persons>
     <person id="14">Neil Conway</person>
    </persons>
    <links>
     <link href="http://neilconway.org/talks/hacking/">Slides for an OLD version of this talk</link>
    </links>
   </event>
   <event id="45">
    <start>13:00</start>
    <duration>03:00</duration>
    <room>SITE F0126</room>
    <tag>whack</tag>
    <title>Performance Whack-a-Mole</title>
    <subtitle>Methodology for troubleshooting database application performance</subtitle>
    <track>Tutorial</track>
    <type>Workshop</type>
    <language>English</language>
    <abstract>Core team member Josh Berkus will take you through his step-by-step method for analyzing and troubleshooting database application performance bottlenecks.</abstract>
    <description>Every database application has at least one performance issue, and most have several.  Troubleshooting these is like a game of "whack-a-mole" where each resolved issue just allows you to see the next problem.  Since performance troubleshooting is a big part of the job of professional PostgreSQL DBAs and database consultants, it's important to know how to do this methodically and well.

Josh Berkus will take you through the step-by-step method he uses to analyze and troubleshoot applications and public database benchmarks, including:

- Hardware configuration
- PostgreSQL configuration
- Finding troublesome queries
- Fixing troublesome queries
- Connection pooling and middleware issues
- Application design issues

This half-day tutorial will also include going over the latest information on PostgreSQL configuration parameters and recent developments in performance analysis tools.</description>
    <persons>
     <person id="34">Josh Berkus</person>
    </persons>
    <links>
    </links>
   </event>
  </room>
  <room name="SITE H0104">
  </room>
  <room name="SITE B0138">
  </room>
  <room name="SITE G0103">
  </room>
 </day>
 <day date="2007-05-22" index="2">
  <room name="SITE A0150">
  </room>
  <room name="SITE F0126">
   <event id="43">
    <start>09:00</start>
    <duration>03:00</duration>
    <room>SITE F0126</room>
    <tag>dba101</tag>
    <title>Pro PostgreSQL</title>
    <subtitle>DBA 101 For the PostgreSQL Crowd</subtitle>
    <track>Tutorial</track>
    <type>Workshop</type>
    <language>English</language>
    <abstract>Tips and tricks for running PostgreSQL Databases in a production environment.</abstract>
    <description>This talk will include information on installing, configuring, and upgrading your PostgreSQL instance. We'll also cover routine tasks you need to be aware of and discuss backup and high availability options at your disposal. Finally we'll touch on support options and where to look for online tools and help.</description>
    <persons>
     <person id="20">Robert Treat</person>
    </persons>
    <links>
     <link href="http://www.omniti.com/resources">Slides</link>
    </links>
   </event>
   <event id="31">
    <start>13:00</start>
    <duration>03:00</duration>
    <room>SITE F0126</room>
    <tag>plperl</tag>
    <title>Pl/Perl - Best of Both Worlds</title>
    <subtitle>Learn how Pl/Perl can make you more productive</subtitle>
    <track>Tutorial</track>
    <type>Workshop</type>
    <language>English</language>
    <abstract>Learn all about Pl/Perl, which combines the best language with the best database.</abstract>
    <description>Learn how Pl/Perl can greatly enhance your ability as a DBA or application developer, by using is alongside Pl/pgsql. We'll start by installing Pl/Perl, and then quickly dive into using it with some neat examples, learning its strengths and weaknesses along the way. We'll learn not only when to use it, but when NOT to use it, and when to use it in ways you never thought of. We'll see how it stacks up against the other procedural languages, and see what the future may hold for it.</description>
    <persons>
     <person id="21">Greg Sabino Mullane</person>
    </persons>
    <links>
    </links>
   </event>
  </room>
  <room name="SITE H0104">
  </room>
  <room name="SITE B0138">
  </room>
  <room name="SITE G0103">
  </room>
 </day>
 <day date="2007-05-23" index="3">
  <room name="SITE A0150">
   <event id="17">
    <start>10:00</start>
    <duration>01:00</duration>
    <room>SITE A0150</room>
    <tag>oracle</tag>
    <title>Oracle to PostgreSQL Conversion</title>
    <subtitle></subtitle>
    <track>Basics</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>Transition from Oracle to a PostgreSQL database can be confusing.  This presentation provides someone new to PostgreSQL with many of the differences they will need to overcome and some tricks to do so.</abstract>
    <description>While Oracle is an excellent database, costs for a PostgreSQL database are significantly less. The goal of this talk is to provide the attendee with basic knowledge they must have in order to meet the challenge of an Oracle to PostgreSQL transition. Included are some of the differences between the systems as well as PostgreSQL-specific quirks that aren't readily apparent to someone used to Oracle. We will address some of the short comings of PostgreSQL from an Oracle perspective and how these are dealt with when translating SQL queries or table setups. This is targeted towards a developer with at least passing familiarity using PostgreSQL.

The talk will cover some of the differences in data types between the two systems and what implications this has on setting up the new translated versions of your Oracle tables on PostgreSQL. Once tables are created we move on to differences in the actual SQL query syntax and provide PostgreSQL solutions to some Oracle specific functions. Basic differences between Oracle Stored Procedures and PostgreSQL functions are explored as well as the difference in trigger implementation. Handful of clever and/or novel hacks will be presented that lessen the divide between Oracle and PostgreSQL. 

* Structure Differences
* SQL Query Differences
* Stored Procedures/Functions
* Triggers
* Getting The Data</description>
    <persons>
     <person id="37">Brian Dunavant</person>
    </persons>
    <links>
     <link href="http://www.omniti.com/resources">Slides</link>
    </links>
   </event>
   <event id="41">
    <start>11:30</start>
    <duration>01:00</duration>
    <room>SITE A0150</room>
    <tag>partitioning</tag>
    <title>PostgreSQL Partitioning</title>
    <subtitle>Slicing and dicing your schema for quicker queries and dishing data</subtitle>
    <track>Performance</track>
    <type>Workshop</type>
    <language>English</language>
    <abstract>Begining in 8.1, PostgreSQL has offered table partitioning, allowing you to split data across different physical segments for significant performance improvements. While the feature is simple to get into, manageing large table partition setups can prove tricky to the beginer. In this tutorial we will discuss many of the insider tricks that are used in todays largest setups and talk about what the documentation leaves out.</abstract>
    <description>PostgreSQL table partitioning allows you to scale your data to significantly larger volumes than would otherwise be possible. Getting started with table partitions in and of itself is not complicated, but if you want to get maximum benefits from your setup you can't just follow the documentation. This talk will walk through the ins and outs of table partitioning including:

* What table partitioning is, and how it is implemented in PostgreSQL.
* Rules, Constraints, Inheritance and how it all comes together.
* When and why to use triggers for partitioning.
* Automated partition maintenance.

Learn how to setup and maintain table partitioning in PostgreSQL with hands on examples. We'll walk through manipulating SQL, writing rules and trigger, and show you how you can use plpgsql to automate your partition maintenance.</description>
    <persons>
     <person id="20">Robert Treat</person>
    </persons>
    <links>
     <link href="http://www.omniti.com/resources">Slides</link>
    </links>
   </event>
   <event id="20">
    <start>13:30</start>
    <duration>01:00</duration>
    <room>SITE A0150</room>
    <tag>replicationstrategy</tag>
    <title>PostgreSQL replication strategies</title>
    <subtitle>Understanding High Availability and choosing the right solution</subtitle>
    <track>Replication</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>This talk introduces the key aspects you need to consider when building Highly Available solutions based on PostgreSQL. Current key replication and clustering technologies for PostgreSQL are presented to show how they address issues such as load balancing, performance scalability, failover/failback and upgradeability.</abstract>
    <description>High Availability is a broad term that encompasses many concepts. We propose to first outline the key factors one should consider when building an HA solution from MTBF, MTTR, downtime cost to planned and unplanned maintenance.
According to your needs, there are several strategies available to achieve availability from simple master/slave replication to multimaster clustering with transparent failover. We propose to show how the existing replication technologies for PostgreSQL (Slony, Sequoia, pgpool, PGCluster) fit different needs.
We use different real life scenarios and use cases with various fault tolerance, performance, load balancing and availability requirements. We show how each technology can be used in these scenarios with its pros and cons.</description>
    <persons>
     <person id="31">Emmanuel Cecchet</person>
    </persons>
    <links>
    </links>
   </event>
   <event id="22">
    <start>15:00</start>
    <duration>01:00</duration>
    <room>SITE A0150</room>
    <tag>gin</tag>
    <title>GIN in practice</title>
    <subtitle>Developing extensions for GIN index</subtitle>
    <track>Hackers</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>Usage of GIN index - an idea, usefulness, applicability. Description of GIN interface. As an example, developing GIN extension for hstore contrib module.</abstract>
    <description>Usage of GIN
  - inverted index in database
  - applications where inverted index is useful and not
  - GIN design implementation
Description of GIN interface
  - support functions
  - notices about GIN memory management
Developing GIN extension for hstore contrib module.
  - hstore is a module, which implements datatype for
    storing (key,value) pairs and various functions
    for accessing  keys and values.
  - existing GiST support: features and issues
  - motivation for GIN support
  - implementation of GIN support</description>
    <persons>
     <person id="33">Teodor Sigaev</person>
    </persons>
    <links>
     <link href="http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/hstore/README.hstore?rev=HEAD;content-type=text%2Fplain">README.hstore</link>
     <link href="http://developer.postgresql.org/pgdocs/postgres/gin.html">GIN index</link>
    </links>
   </event>
   <event id="54">
    <start>16:30</start>
    <duration>01:00</duration>
    <room>SITE A0150</room>
    <tag></tag>
    <title>Advanced PostgreSQL on Windows</title>
    <subtitle>Looking at Windows specific issues for PostgreSQL deployment and development</subtitle>
    <track>Advanced Features</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>An overview of PostgreSQL on Windows, one our fastest growing platforms.</abstract>
    <description>This talk will take a look at the Windows version of PostgreSQL from two
different perspectives:
* PostgreSQL for the Windows user - how PostgreSQL on Windows differs
from other Windows applications, and how to deal with it.
* Windows for the PostgreSQL user - how the Windows version of
PostgreSQL differs from the Unix version, including tools and methods to
manage and monitor it.</description>
    <persons>
     <person id="56">Magnus Hagander</person>
    </persons>
    <links>
     <link href="http://www.hagander.net/talks/Advanced%20PostgreSQL%20on%20Windows.pdf">Slides</link>
    </links>
   </event>
   <event id="37">
    <start>18:00</start>
    <duration>02:00</duration>
    <room>SITE A0150</room>
    <tag>palaver</tag>
    <title>PostgreSQL Palaver / Keysigning</title>
    <subtitle>Moderated and wide-ranging discussion of issues facing the community (followed by keysigning party)</subtitle>
    <track>BOF</track>
    <type>Meeting</type>
    <language></language>
    <abstract>The PostgreSQL project has grown faster than anyone involved early on could have imagined. While we are doing a great job, there is always room for improvement. This will be a wide-ranging discussion and brainstorming session about any and all problems and issues regarding the project - not just technical, but all other aspects as well. Topics and questions are encouraged to be submitted in advance.</abstract>
    <description>Sample topics:
* Fundraising
* Corporate involvement
* Technical challenges
* Forks and propreitary versions
* Competition - open and closed
* Perception of the community to outsiders
* Licensing and patents
* Expanding the community
* Long-term goals</description>
    <persons>
     <person id="21">Greg Sabino Mullane</person>
    </persons>
    <links>
    </links>
   </event>
  </room>
  <room name="SITE F0126">
  </room>
  <room name="SITE H0104">
  </room>
  <room name="SITE B0138">
   <event id="18">
    <start>09:00</start>
    <duration>01:00</duration>
    <room>SITE B0138</room>
    <tag>keynote</tag>
    <title>Great Steps in PostgreSQL History</title>
    <subtitle>A review of the developments which grew the PostgreSQL community</subtitle>
    <track>Plenary</track>
    <type>Podium</type>
    <language>English</language>
    <abstract>Despite some hit-and-miss development efforts, PostgreSQL has kept jumping ahead, both in community and features.  Bruce Momjian reviews a few of our "great leaps forward", and what led up to them.</abstract>
    <description>Despite some hit-and-miss development efforts, PostgreSQL has kept jumping ahead, both in community and features.  Bruce Momjian reviews a few of our "great leaps forward", and what led up to them.</description>
    <persons>
     <person id="38">Bruce Momjian</person>
    </persons>
    <links>
    </links>
   </event>
   <event id="16">
    <start>10:00</start>
    <duration>01:00</duration>
    <room>SITE B0138</room>
    <tag>smp</tag>
    <title>Scaling PostgreSQL on SMP Architectures -- An Update</title>
    <subtitle></subtitle>
    <track>Hackers</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>Updates last year's 10th Anniversary Summit presentation on Unisys efforts to enhance scalability of PostgreSQL on 32-bit and 64-bit shared multiprocessor Linux platforms.  Measurements reflecting improvements in newer PostgreSQL releases are summarized and possible strategies for further improvement are discussed.</abstract>
    <description>Unisys is positioning PostgreSQL as a data engine of choice for open source Java Enterprise Edition software stacks on high processor count, Linux-based 32-bit and 64-bit SMP hardware platforms.   Characterization and enhancement of PostgreSQL's performance and scalability on these high-end systems is of paramount interest.  The talk will summarize the current state of continuing efforts begun in 2005 to characterize PostgreSQL's capabilities on 8-cpu and higher systems and updates results, originally presented at the 2006 10th Anniversary Summit, for more recent releases of PostgreSQL.  Possible strategies for further improvement, based on analyses of current bottlenecks on SMP systems, will be described in some detail.</description>
    <persons>
     <person id="36">Doug Tolbert</person>
    </persons>
    <links>
    </links>
   </event>
   <event id="13">
    <start>11:30</start>
    <duration>01:00</duration>
    <room>SITE B0138</room>
    <tag>fulltext</tag>
    <title>Full Text Search in PostgreSQL</title>
    <subtitle>New version of built-in FTS will be enlighted and demonstrated</subtitle>
    <track>Advanced Features</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>We present the new version of Full Text Search in PostgreSQL. It's a tsearch2 module now integrated into PostgreSQL core with many improvements and additions. It features many languages support  available on default, SQL interface to the FTS objects, improved documentation and schema-based support of multiple configurations.</abstract>
    <description>TBD</description>
    <persons>
     <person id="29">Oleg Bartunov</person>
    </persons>
    <links>
     <link href="http://www.sai.msu.su/~megera/postgres/fts/doc">Preliminary  FTS documentation</link>
     <link href="http://www.sai.msu.su/~megera/postgres/talks">Talks and Presentations about PostgreSQL</link>
    </links>
   </event>
   <event id="9">
    <start>13:30</start>
    <duration>01:00</duration>
    <room>SITE B0138</room>
    <tag>porting</tag>
    <title>Practical experience with moving applications to PostgreSQL</title>
    <subtitle>Porting challanges: Database design, human factor</subtitle>
    <track>Basics</track>
    <type>Workshop</type>
    <language>English</language>
    <abstract>Practical experience with redesigning and moving applications from MSSQL, Paradox and Access to PostgreSQL. Pinpoint challenges in database design, data migration, propagation of PostgreSQL inside company (human factor), introduction to novice developer(s), database GUI tools (CASE, SQL editors, graphical query builder, administration tools).</abstract>
    <description>Experience from redesigning and moving applications from MSSQL, Paradox and Access to PostgreSQL. Pinpoint challenges in database design, data migration, propagation of PostgreSQL inside company, introduction to novice developer(s), database GUI tools. Human factor in decision process of choosing RDBMS. Importance of reliable CASE tool(s), SQL editors, graphical query builder, administration tool(s).
Practical solution to:
  - Difference between MSSQL and Postgresql. SQL, case sensitivity, index usage, scalability
  - Difference between T-SQL and PL/pgSQL</description>
    <persons>
     <person id="25">Radovan Jablonovsky</person>
    </persons>
    <links>
    </links>
   </event>
   <event id="23">
    <start>15:00</start>
    <duration>01:00</duration>
    <room>SITE B0138</room>
    <tag>academia</tag>
    <title>Migrating to PostgreSQL in Academia</title>
    <subtitle>Moving legacy data and applications to PostgreSQL for a large University</subtitle>
    <track>Basics</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>Large academic institutions often have data collected in many different database systems that has to be collected for administrative use.  This lecture will be a discussion of issues raised and techniques learned while migrating the academic advising system for the Franklin College Office of Academic Advising (responsible for advising undergraduates at the largest college of The University of Georgia) from a home-grown FileMaker Pro-based system to an award-winning web application built with PHP and PostgreSQL.</abstract>
    <description>The presentation should cover the following topics:

 - The advantages of using PostgreSQL in the academic environment, including cost, performance, and features
 - The experience of replacing legacy proprietary applications with PHP/PostgreSQL-based solutions, including importing data from data sources with widely varying levels of data integrity
 - Security and legal concerns specific to academia, including various US laws relating to the handling of student information
 - Data management policies</description>
    <persons>
     <person id="42">Michael Brewer</person>
    </persons>
    <links>
    </links>
   </event>
   <event id="46">
    <start>16:30</start>
    <duration>01:00</duration>
    <room>SITE B0138</room>
    <tag>solaris</tag>
    <title>Useful Solaris tools for PostgreSQL DBAs</title>
    <subtitle>Five Solaris components you can use to improve PostgreSQL reliability and availability</subtitle>
    <track>Basics</track>
    <type>Podium</type>
    <language>English</language>
    <abstract>Sun engineers Robert Lor, Jim Gates, Zdenek Kotala, Julius Stroffek and Josh Berkus will present five features of Solaris Nevada which can be extremely useful to PostgreSQL DBAs.</abstract>
    <description>Sun engineers Robert Lor, Zdenek Kotala and Julius Stroffek will present four features of Solaris Nevada which can be extremely useful to PostgreSQL DBAs.  Whether or not you already use Solaris, you can benefit by broadening the system tools available to you, particularly since some of these tools will be available in other operating systems soon.

Zones: Solaris's new service isolation tool improves on BSD Jails by offering facilities previously only available on mainframes ... the ability to limit CPU and RAM for each container, and thus each PostgreSQL instance.  See a demo of this functionality and how to use it to improve your ability to host lots of third-party PostgreSQL applications. 

DTrace: We've used DTrace to diagnose problems in PostgreSQL and improve 8.2.  Now, join us to see how you can use DTrace to "walk up the web application stack" and try to find the bottlenecks in your entire application, rather than just a single component.

Service Management Facility: in addition to being a "init.d substitute" for Solaris, SMF has a number of other useful features that can improve PostgreSQL reliability, including automated recovery from DOS attacks and automated shutdown if hardware is dying.

ZFS: This advanced filesystem offers performance for data warehouses equivalent to other leading filesystems, with significantly better management tools and reliability.  We'll discuss how to configure it for PostgreSQL and ways you can use it.

Sun Cluster: learn how Sun Cluster can be used to provide HA for PostgreSQL.</description>
    <persons>
     <person id="61">Robert Lor</person>
     <person id="34">Josh Berkus</person>
    </persons>
    <links>
    </links>
   </event>
   <event id="24">
    <start>18:00</start>
    <duration>02:00</duration>
    <room>SITE B0138</room>
    <tag>education</tag>
    <title>PostgreSQL in Education BOF</title>
    <subtitle>A meeting for conference attendees using PostgreSQL in academia</subtitle>
    <track>BOF</track>
    <type>Meeting</type>
    <language>English</language>
    <abstract>This meeting is intended to gather conference attendees who use (or are interested in using) PostgreSQL in education.</abstract>
    <description>We will discuss ideas and issues involved in using and evangelizing PostgreSQL in various academic settings.</description>
    <persons>
     <person id="42">Michael Brewer</person>
    </persons>
    <links>
     <link href="http://kuali.org/about/">Kuali Foundation (administrative software)</link>
     <link href="http://sakaiproject.org/">Sakai: Collaboration and learning software</link>
     <link href="http://moodle.org/">Moodle (Course Management system)</link>
     <link href="http://dotlrn.org/">.LRN (e-learning, digital communities)</link>
     <link href="http://emma.uga.edu/cocoon/emma/home">emma (UGA English department's new collaborative learning app, soon to be open-sourced)  Based on PostgreSQL (note: I am not affiliated with this project, although I know the developers)</link>
    </links>
   </event>
  </room>
  <room name="SITE G0103">
   <event id="55">
    <start>10:00</start>
    <duration>01:00</duration>
    <room>SITE G0103</room>
    <tag>image</tag>
    <title>PostgreSQL-IE</title>
    <subtitle>An Image-Handling Extension to support Content-based Image Retrieval</subtitle>
    <track>Advanced Features</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>PostgreSQL-IE is an extension to PostgreSQL to support content-based image retrieval. The extension makes available a new image data type, and extends the Structured Query Language – SQL with new  functions that are able to create new feature descriptors, new feature vectors as combinations of previously defined features, new access methods, and to pose similarity queries.</abstract>
    <description>The last decade  witnessed a growing  interest in research on
content-based image retrieval (CBIR) and  related areas. Several
systems for managing and retrieving  images have being proposed, each
one tailored to a specific application.
Functionalities  commonly available in these CBIR systems
include: storage and management of complex data; development of
feature extractors to support similarity queries; development of
index structures to speed up  image retrieval; and design and
implementation of an intuitive graphical user interface tailored to
each application. In order to facilitate the development of new CBIR
systems, we propose an image-handling extension to the relational
database management system (RDBMS) PostgreSQL. This extension, called 
PostgreSQL-IE,
is independent of application, and provides the advantage of  being 
open-source
and portable.

The proposed system extends the functionalities of
Structure Query Language (SQL) with new functions that are able to
create new feature extraction procedures, new feature vectors as
combinations of previously defined features,  new access
methods, and  similarity queries.

PostgreSQL-IE makes available a new image data type, which permits the association of various
images with a given unique image attribute. This resource makes it possible 
to combine visual features of different images in the same feature
vector. To illustrate and validate the concepts and resources
available in the proposed extended RDBMS, we present a CBIR system
applied to the analysis of mammograms developed using PostgreSQL-IE.</description>
    <persons>
     <person id="57">Denise Guliato</person>
    </persons>
    <links>
    </links>
   </event>
   <event id="21">
    <start>11:30</start>
    <duration>01:00</duration>
    <room>SITE G0103</room>
    <tag>execution</tag>
    <title>Execution plan optimization techniques</title>
    <subtitle>Execution plan optimization techniques and possible improvements in PostgreSQL implementation</subtitle>
    <track>Hackers</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>We will shortly describe and explain the problem of cost based execution plan optimization. We will focus primarily on algorithms for searching the space of all possible alternatives for the large number of joins. We will briefly describe these algorithms and their possible variants, compare them together and we will try to pick up some of them as suitable for solving our problem. Some examples of execution of these algorithms on the traveling salesman problem will be shown. The traveling salesman problem was chosen for the presentation because it is a very similar problem and much easier to imagine and present than searching the space of execution plan alternatives.</abstract>
    <description>We will shortly describe and explain the problem of cost based execution plan optimization. There are two main parts of this process:

	1.) The execution plan cost evaluation based on estimates calculation.
	2.) Searching the space of all possible execution plans and finding the one with the lowest cost.

We will focus primarily on algorithms for searching the space of all possible alternatives for the large number of joins. We will briefly describe these algorithms and their possible variants, compare them together and we will try to pick up some of them as suitable for solving our problem. Some examples of execution of these algorithms on the traveling salesman problem will be shown. The traveling salesman problem was chosen for the presentation because it is a very similar problem and much easier to imagine and present than searching the space of execution plan alternatives.

These are the algorithms that will be discussed:
	* current implementation of genetic algorithm
	* simulated annealing
	* Hopfield network
	* deterministic approximation algorithms
	* heuristic rules for picking up an alternatives for evaluation
	* possible combination of rule-based optimizer with a cost based optimizer</description>
    <persons>
     <person id="60">Tomas Kovarik</person>
     <person id="40">Julius Stroffek</person>
    </persons>
    <links>
    </links>
   </event>
   <event id="15">
    <start>13:30</start>
    <duration>01:00</duration>
    <room>SITE G0103</room>
    <tag>fairuse</tag>
    <title>Digesting an open-source fair-use TPC-E implementation.</title>
    <subtitle>TPC-E is the new On-Line Transaction Processing workload being developed by the Transaction Processing Performance Council (TPC). It is intended to replace the aging TPC-C.</subtitle>
    <track>Hackers</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>This talk starts by describing the TPC-E specification in high-level terms and reasoning why TPC-E represents modern database server workload. It continues by explaining the benefits to the open source development community (particularly to the PostgreSQL community) of counting on an open-source workload based on the industry-standard TPC-E benchmark. The implementation and architecture of the workload are outlined and motivating experimental results are presented.</abstract>
    <description>It seems appropriate that with these recent innovations in the field of database benchmarks, the open source development community take advantage of these innovations. Open source workloads, based on industry-standard benchmarks, enable people to measure system performance and verify resource utilization. In addition, by taking the guesswork out of performance analysis, through the use of benchmarks, people can save a tremendous amount of time that would be usually spent on ineffective trial-and-error solutions.

Some benefits to the FOSS community:

- Enable more people to use the workload since it is more cost-effective (TPC-E is designed to be less IO dependent than TPC-C, i.e., it was engineered to provide a balanced mixture of disk input/output and processor usage).
- Enable users to test modern database server workloads.
- Help people to learn system tuning by offering a controlled environment to test new configurations.
- Act as a sanity check on claims of performance leadership.
- Provide fertile ground for engineering improvements.

The workload was written mostly in C++ and PL/pgSQL. The latter was used to implement the TPC-E transactions. Libpqxx was used as C++ client API for PostgreSQL. The database loader that accompanies TPC-E was extended to directly load a PostgreSQL database. This relieves the system of the burden of generating and loading auxiliary files. The data collection and reporting functionality for system resources were based on Mark Wong's DBT-2 workload, which provides a rich set of scripts to collect performance data and generate charts.</description>
    <persons>
     <person id="23">Mark Wong</person>
     <person id="24">Rilson Nascimento</person>
    </persons>
    <links>
    </links>
   </event>
   <event id="52">
    <start>15:00</start>
    <duration>01:00</duration>
    <room>SITE G0103</room>
    <tag>pginside</tag>
    <title>PostgreSQL Inside</title>
    <subtitle>Choosing the World's Most Advanced Open Source Database for EnterpriseDB</subtitle>
    <track>Plenary</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract></abstract>
    <description>In this presentation, EnterpriseDB co-founder and CTO Denis Lussier  
will discuss the process and criteria behind his selection of  
PostgreSQL as the foundation for the high-performance, Oracle- 
compatible EnterpriseDB Advanced Server.  Denis' talk will highlight  
particular PostgreSQL features that were deemed especially important  
for mission-critical, enterprise-class deployments, and Denis will  
share observations concerning the database feature requests most  
commonly heard by the EnterpriseDB team in the field.</description>
    <persons>
     <person id="53">Denis Lussier</person>
    </persons>
    <links>
    </links>
   </event>
   <event id="53">
    <start>16:30</start>
    <duration>01:00</duration>
    <room>SITE G0103</room>
    <tag></tag>
    <title>Developing New Zealand's Electoral Roll on PostgreSQL</title>
    <subtitle>Success Story: running New Zealand's Electoral Roll on PostgreSQL</subtitle>
    <track>Basics</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>The New Zealand Electoral Roll was migrated from Oracle to PostgreSQL in 2002 by Catalyst IT.
This deployment coincided with a total rewrite of the system. 

In this talk I will discuss how and why PostgreSQL was selected, how we have used PostgreSQL to support continuous development and where we would like to go in the near future.</abstract>
    <description>Developing a highly secure database application with high standards data integrity and reliability is made much easier using PostgreSQL.

I will describe how we manage replicataion, code migration, regression tests and continuous integration, data backup and disaster recovery for the Electoral Roll management system.

I also want to describe why the client was ready to swap out the existing Oracle system and go to a fully open source application stack.

Finally I will discuss future development directions. These include replication, locking support and query optimisation.</description>
    <persons>
     <person id="54">Finlay Thompson</person>
    </persons>
    <links>
     <link href="http://www.elections.org.nz/">Elections.org.nz</link>
     <link href="http://catalyst.net.nz/">Catalyst IT</link>
    </links>
   </event>
  </room>
 </day>
 <day date="2007-05-24" index="4">
  <room name="SITE A0150">
   <event id="4">
    <start>10:00</start>
    <duration>01:00</duration>
    <room>SITE A0150</room>
    <tag>view</tag>
    <title>Improving Your View</title>
    <subtitle>The Upcoming Role of PostgreSQL in Flat Panel Display Production</subtitle>
    <track>Basics</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>TCZ, a joint venture between Cymer and Carl Zeiss SMT, is focused on developing innovative production equipment for the emerging flat panel display (FPD) market. This presentation is a case study that will show the many ways PostgreSQL is utilized as a critical component of the Master System Controller for the TCZ 900X system.</abstract>
    <description>TCZ, a joint venture between Cymer and Carl Zeiss SMT, is focused on developing innovative production equipment for the emerging flat panel display (FPD) market. The Master System Controller for the TCZ 900X system makes extensive use of PostgreSQL for data persistence.

This case study will start by describing the TCZ 900X system and how it is used in FPD production, at a 50,000 foot level. The general software architecture will then be described in somewhat more detail. The bulk of the presentation will describe:
 - the many uses for PostgreSQL in this highly complex system
 - some details around specific methods for handling high volumes of data collection, processing, and display
 - how Postgres allows us to abstract machine control, maximizing future flexibility</description>
    <persons>
     <person id="11">Joe Conway</person>
    </persons>
    <links>
     <link href="http://www.tcz.com/products.htm">TCZ 900X</link>
    </links>
   </event>
   <event id="12">
    <start>11:30</start>
    <duration>01:00</duration>
    <room>SITE A0150</room>
    <tag>streaming</tag>
    <title>Stream Processing with PostgreSQL</title>
    <subtitle>An Introduction to Data Streams and TelegraphCQ</subtitle>
    <track>Hackers</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>An introduction to data stream query processing. Traditional database systems use a "store and query" model: the data is stored by the DBMS, and one-time queries are submitted, evaluated, and then the results returned to clients. This model is often inappropriate for a world in which data is constantly in motion. For applications like network monitoring, real-time financial analysis, and sensor networks, the overhead required to store data to disk and then compute a one-time query is excessive. A data stream management system (DSMS) allows long-running continuous queries over data streams to be defined, yielding a query processing model much more amenable to real-time analysis and response.</abstract>
    <description>This talk will begin by describing the historical context and motivation for data stream management systems, and discuss how DSMS differ from traditional database systems. After reviewing the major players in the DSMS market, the talk will then discuss techniques for query evaluation on data streams and discuss potential DSMS applications.</description>
    <persons>
     <person id="14">Neil Conway</person>
    </persons>
    <links>
     <link href="http://telegraph.cs.berkeley.edu/">Telegraph website</link>
    </links>
   </event>
   <event id="30">
    <start>13:30</start>
    <duration>01:00</duration>
    <room>SITE A0150</room>
    <tag>pg8</tag>
    <title>PostgreSQL Version 8 in action</title>
    <subtitle>Real-world examples showing useful features added in 8.0, 8.1, and 8.2</subtitle>
    <track>Basics</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>Are you taking advantage of the latest advancements in PostgreSQL? If you aren't using 8.2, see what
you are missing out on.</abstract>
    <description>If you're still using version 7, prepare to expand on your list of reasons to
upgrade. If you are using 8, learn how to take full advantage of it. All the major features of 
the 8.x series will be gone over, with real-world examples. We'll also touch on many of the 
minor and not-so-well-known changes that still have the ability to make your life easier. We'll 
also take a quick peak at some things in 8.3 as well.</description>
    <persons>
     <person id="21">Greg Sabino Mullane</person>
    </persons>
    <links>
    </links>
   </event>
   <event id="47">
    <start>15:00</start>
    <duration>01:00</duration>
    <room>SITE A0150</room>
    <tag>performance</tag>
    <title>PostgreSQL performance research</title>
    <subtitle>Better. Faster. Stronger.</subtitle>
    <track>Hackers</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>A review of advances in PostgreSQL performance for Release 8.3, plus
longer term opportunities and requirements.</abstract>
    <description>Simon will present recent
performance data and analysis, a detailed look under the cover at a few
features and a detailed guide on how to contribute to performance work.</description>
    <persons>
     <person id="48">Simon Riggs</person>
    </persons>
    <links>
    </links>
   </event>
  </room>
  <room name="SITE F0126">
  </room>
  <room name="SITE H0104">
   <event id="14">
    <start>10:00</start>
    <duration>01:00</duration>
    <room>SITE H0104</room>
    <tag>xml</tag>
    <title>The Road to the XML Type</title>
    <subtitle></subtitle>
    <track>Hackers</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>In this talk we will present the roadmap for the development of native XML type support in PostgreSQL.</abstract>
    <description>Started five years ago as a "contrib" module (contrib/xml2) by J. Gray, implementing a set of basic XML-oriented features, it is now in the process of complete reworking and integration into the DBMS core, in accordance with SQL/XML standard. Initial XML type support will be included into the next release of PostgreSQL v.8.3.

We will describe the current accomplishments illustrated by usage examples, comprising comprehensive mechanism of querying metadata for complex scientific datasets, developed for and used by the International Virtual Observatory. We will review plans of further development of Postgres XML type, in particular, indexing approaches and XQuery support as well as other issues that may arise on the road to XML type.</description>
    <persons>
     <person id="26">Nikolay Samokhvalov</person>
     <person id="32">Peter Eisentraut</person>
    </persons>
    <links>
     <link href="http://developer.postgresql.org/index.php/XML_Todo">XML type Todo</link>
     <link href="http://developer.postgresql.org/index.php/XML_Support">Overview of XML support in relational databases</link>
     <link href="http://samokhvalov.com/pgcon2007.pdf">This Talk Slides</link>
    </links>
   </event>
   <event id="19">
    <start>11:30</start>
    <duration>01:00</duration>
    <room>SITE H0104</room>
    <tag>pgsnmpd</tag>
    <title>pgsnmpd</title>
    <subtitle>Keeping tabs on PostgreSQL</subtitle>
    <track>Performance</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>pgsnmpd is a net-snmp-based monitoring daemon being developed for PostgreSQL 8.x. Initial versions will support RFC 1697 (http://www.faqs.org/rfcs/rfc1697.html) and the associated RDMBS-MIB on Linux, but future versions will include an expanded MIB to keep track of all kinds of useful information. We will demonstrate pgsnmpd as well as its interaction with a few common software packages to provide realtime alerts and display historical trends.</abstract>
    <description>Monitoring application performance and resource utilization is critical to maintaining stability and preventing downtime. Whole hosts of applications exist to consume monitoring data via SNMP and generate alerts when values exceed predefined thresholds, store information for historical purposes, analyze performance trends, etc. pgsnmp will implement RFC 1697, an SNMP MIB describing features common to most relational database systems, as well as an expanded PostgreSQL-specific MIB, exposing information from pg_catalog and information_schema, for example.

In combination with available monitoring software, pgsnmpd will allow administrators to see such things as trends in index usage, data growth, transaction rate, etc. We will provide examples using ubiquitous SNMP-based monitoring systems such as MRTG, Cacti, and RRDTool to show trend monitoring, and Nagios to provide realtime alerts about critical events.</description>
    <persons>
     <person id="39">Joshua Tolley</person>
    </persons>
    <links>
    </links>
   </event>
   <event id="6">
    <start>13:30</start>
    <duration>01:00</duration>
    <room>SITE H0104</room>
    <tag>cluster</tag>
    <title>PGCluster-II</title>
    <subtitle>Clustering system of PostgreSQL that is using shared data</subtitle>
    <track>Replication</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>PGCluster-II is a shared-disk based clustering system for PostgreSQL, implemented with virtual IPC for session and lock management.  It supports both high availability and load balancing needs.</abstract>
    <description>For the past 8 years, Atsushi Mitani has developed a number of web applications which were used PostgreSQL as the backend database. To support high availability for these sites, he developed PGCluster, a multi-master and synchronous replication system for PostgreSQL.
 
However, PGCluster did not help with load-balancing data writes and new web applications are more write-intensive, as well as requiring more links between disparate data in the database.   PGCluster-II is engineered to support load balancing and high availability for this new generation of web applications.
 
Atsushi will explain how PGCluster is designed and show you how to install and test it.</description>
    <persons>
     <person id="15">Atsushi Mitani</person>
    </persons>
    <links>
    </links>
   </event>
   <event id="50">
    <start>15:00</start>
    <duration>01:00</duration>
    <room>SITE H0104</room>
    <tag>lightning</tag>
    <title>PostgreSQL Lightning Talks</title>
    <subtitle>Everyone gets 5 minutes of fame</subtitle>
    <track>Advanced Features</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>PostgreSQL Related Lightning Talks, contributed from the community.</abstract>
    <description>This event will require a moderator.  That person will take care of organizing the talks, collecting the slides/abstracts, and providing that information to PGCon for publishing on the website.  That person will also run the session, making sure people don't go over time, etc.</description>
    <persons>
     <person id="20">Robert Treat</person>
    </persons>
    <links>
    </links>
   </event>
   <event id="56">
    <start>16:00</start>
    <duration>00:30</duration>
    <room>SITE H0104</room>
    <tag>closing</tag>
    <title>Closing Sessions</title>
    <subtitle>Famous Last Words + prizes to give away</subtitle>
    <track>Plenary</track>
    <type>Lecture</type>
    <language>English</language>
    <abstract>A few closing words and thanks.</abstract>
    <description>You'll want to be here for the spot prizes we will be giving away.</description>
    <persons>
     <person id="1">Dan Langille</person>
    </persons>
    <links>
    </links>
   </event>
  </room>
  <room name="SITE B0138">
  </room>
  <room name="SITE G0103">
  </room>
 </day>
</schedule>
