Slide 1

Slide 1 text

3 Awesome Things That PostgreSQL Can Do

Slide 2

Slide 2 text

Where I use these awesome things

Slide 3

Slide 3 text

HStore • It’s a key-value column • It’s queryable • It’s in Rails 4 • You can use it now with activerecord- postgres-hstore

Slide 4

Slide 4 text

http://www.postgresql.org/docs/9.1/static/hstore.html

Slide 5

Slide 5 text

Trigram Matching • Breaks strings up into 3 character chunks • cat => [‘ c’, ‘ca’, ‘cat’, ‘at ‘] • Used as a human friendly search • Doesn’t rely on breaking out words so .coms in merchant names match • Helps with misspellings: ‘eharmoney’ find eHarmony

Slide 6

Slide 6 text

Trigram with ActiveRecord scope :search, ->(query) { where("merchants.name % ? or merchants.description % ?", query, query) }

Slide 7

Slide 7 text

tablefunc • normal_rand • Normally distributed random values (Gaussian distribution) • crosstab • Pivot displays • connectby • Displays hierarchical data

Slide 8

Slide 8 text

Disclaimer YMMV

Slide 9

Slide 9 text

Thanks! Jesse Dearing @jessedearing