Motivation
2
Postgres can’t do everything
You can extend it
Eclipse makes it easy
Slide 3
Slide 3 text
Extensions
3
postGIS - Spatial and Geographic objects
pg_cron - Run periodic jobs
hll - HyperLogLog (approximate distinct count)
citus - Scale across multiple machines
Slide 4
Slide 4 text
Personal Story
4
Distributed PostgreSQL PostgreSQL Extension
Slide 5
Slide 5 text
Why Eclipse?
5
Start Fast
Easy Navigation
Rich Features
Slide 6
Slide 6 text
Demo Outline
6
PostgreSQL Inside Eclipse
Walking Around
Deep Dive
Slide 7
Slide 7 text
Demo Outline
7
PostgreSQL Inside Eclipse
Walking Around
Deep Dive
Slide 8
Slide 8 text
Build PostgreSQL
8
./configure CFLAGS=-"O0 -g"
make -s -j4
sudo make install
Slide 9
Slide 9 text
Import PostgreSQL into Eclipse
9
File -> Import
C/C++ -> Existing Code as Makefile Project
Turn off scalability mode (optional)
Slide 10
Slide 10 text
Demo Outline
10
PostgreSQL Inside Eclipse
Walking Around
Deep Dive
Slide 11
Slide 11 text
Attach GDB
11
select pg_backend_pid();
Debug As -> Debug Configurations
C/C++ Attach to Application
Slide 12
Slide 12 text
PostgreSQL Data Structures
12
Variables window
p pprint(parse)
printf "%s", pretty_format_node_dump(nodeToString(parse))
Preferences -> C/C++ -> Debug -> GDB -> Check “Show the GDB traces...”
Slide 13
Slide 13 text
Errors
13
errstart() in elog.c
if (elevel >= ERROR)
Slide 14
Slide 14 text
Crashes
14
pg_crasher
Slide 15
Slide 15 text
Demo Outline
15
PostgreSQL Inside Eclipse
Walking Around
Deep Dive
Slide 16
Slide 16 text
Gatekeeper
16
watch
Slide 17
Slide 17 text
Demo Outline
17
PostgreSQL Inside Eclipse
Walking Around
Deep Dive
Slide 18
Slide 18 text
Summary
18
Postgres can’t do everything
You can extend
Eclipse makes it easy