BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Meetup//Meetup Calendar 1.0//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
NAME:PDXPUG - Portland PostgreSQL Users Group
X-WR-CALNAME:PDXPUG - Portland PostgreSQL Users Group
BEGIN:VTIMEZONE
TZID:America/Los_Angeles
TZURL:http://tzurl.org/zoneinfo-outlook/America/Los_Angeles
X-LIC-LOCATION:America/Los_Angeles
BEGIN:DAYLIGHT
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
TZNAME:PDT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
TZNAME:PST
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
UID:event_316102878@meetup.com
SEQUENCE:1
DTSTAMP:20260830T123708Z
DTSTART;TZID=America/Los_Angeles:20260908T183000
DTEND;TZID=America/Los_Angeles:20260908T203000
SUMMARY:Migrating to a Temporal Schema
DESCRIPTION:PDXPUG - Portland PostgreSQL Users Group\nPlease note differen
 t location this month at **[UpStart Collective](https://www.upstartcollect
 ive.org/)** at the U.S. Bancorp Tower (a.k.a. **Big Pink**).\n\nCoinciding
  with [devopsdays Portland\, OR](https://devopsdays.org/events/2026-portla
 nd-or/welcome/)\, Sept 8-10\, 2026.\n\nIn v18\, Postgres got temporal prim
 ary keys\, unique constraints\, and foreign keys (with \\`NO ACTION\\`). H
 opefully in v19 we'll have \\`UPDATE/DELETE FOR PORTION OF\\`. So it's a g
 ood time to start thinking about migrating your schema to a temporal struc
 ture. Some advantages include:\n\n\\- Easier queries and joins to reconstr
 uct historical data\\.\n\\- A better way to do soft\\-deletes \\(preservin
 g referential integrity\\)\\.\n\\- No bugs from foreign key references to 
 since\\-updated data\\.\n\\- A less ad hoc way of representing historical 
 data\\.\n\nThis talk will explore how to migrate your schema to include ap
 plication-time \\`daterange\\` and \\`tstzrange\\` columns. I'll use an ex
 isting schema for a time-tracking and invoicing application (used by me fo
 r over 12 years)\, showing the pain points of the old structure\, not spar
 ing my pride at some bad decisions\, and give an approach to bring it all 
 into a nicer temporal structure.\n\nWe will also talk about some remaining
  pain points in using temporal tables\, and suggestions to mitigate them.\
 nIf you are contemplating a move to temporal tables\, this talk will give 
 you an overview of the landscape.
URL;VALUE=URI:https://www.meetup.com/pdxpug/events/316102878/
STATUS:CONFIRMED
CREATED:20260813T173248Z
LAST-MODIFIED:20260813T173248Z
CLASS:PUBLIC
END:VEVENT
X-ORIGINAL-URL:https://www.meetup.com/pdxpug/events/ical/
X-WR-CALNAME:PDXPUG - Portland PostgreSQL Users Group
END:VCALENDAR