Hacker News new | past | comments | ask | show | jobs | submit login
PG Casts – Postgres Screencasts (pgcasts.com)
260 points by craigkerstiens on June 17, 2016 | hide | past | favorite | 55 comments



So good. I'm on the other end of the spectrum. I'd love more beginner videos about how to build a simple CRUD app that lets PG do the heavy lifting.

Most web frameworks focus on routing/validations/sessions and new programmers like me tend to write the data storage logic around the library, even though SQL is so much nicer and intuitive for this sort of thing.


This sentiment is part of what inspired PG Casts. The database can do lots of powerful things that framework ORMs tend to keep in the shadows. We want to make the DB more accessible!


An important part of this (that I've still not really figured out) is, if you're pushing much of your validation in the DB, how & where to interpret the different validation errors you might receive, and pass back through your application for turning into friendly messages, highlighting formfields, etc, etc.


I started an awesome postgres SQL repo on github but haven't started to commit to It. I think we share a common goal, but mine isn't as ambitious in that video requires even more effort!


One of the creators here.

We'd love feedback on the screencasts and suggestions on topics that you'd like to see covered!


Please talk about database views, both regular and materialized. When they are best used, strengths and weaknesses. Compare composing a combined query out of CTE's and sub-queries.


Hot standby. How to promote a slave to master. Continuous archiving. Effective logging and analysing with eg. PgBadger. Performance tuning and benchmarking.

Best practices around those tasks would really be helpful.


A screencast on using PG to handle stuff that is often stored in noSQL databases would be interesting. I'd be interested in both using PG's new noSQL capabilities but more importantly also in walking through creating a Schema for the data (and the tradeoffs). I'd suggest mining some Tweets with metadata from the streaming API (JSON) and using that as a running example.


1 !


PostGIS would be amazing. Followed by JsonB. Then migrating from JsonB to relational. Hot standby might be interesting too.


+1 on PostGIS.


+1 for JsonB.


CTEs, window functions, JSONB, PostGIS, and other stuff I wouldn't have heard of or learnt otherwise :)


Is there a feed? I'd much rather have a feed than an e-mail newsletter.


Is there really no newsletter2feed service yet? :( Time to build one.


http://gmane.org/ converts a mailing list to NNTP, and also provides feeds.


Security is always important. So would be nice with a guide how to setup pg securly.


+1


This is a great idea. Thanks. PostgreSQL is a very complicated and feature rich system but has a steep learning curve once you deviate from the basic CRUD. Even though the documentation is decent its not very beginner friendly - hopefully the screencasts will grow in number and topics to help make Postgre more mainstream.


Please create an episode about creating custom functions, especially aggregation functions using PL/pgSQL


Nice !

request : can you do some screencasts on window functions ?


+1


Reading and understanding EXPLAINS and planner, FTS.


Lateral Joins

Recursive Queries (+ generating JSON from them)

Advanced Index Types

(Ab-)using arrays & custom types (contrast with JSON(B) for everything)


We just finished recording a new episode about Lateral Joins it will be the next episode (early next week). Thanks for your feedback!


Clustering/horizontally scaling Postgres. This is one of the toughest topics with Postgres IMO.


Setting up PostgreSQL for a REST API ?


Are you aware of http://postgrest.com/?


Thanks! Was not aware if this is even possible. This looks quite awesome!


It is quite awesome. It'd be even more awesome if it had support for kerberos (and delegation) built in so I didn't have to write an external JWT provider, if I could rely on PostgreSQL's built-in kerberos support for authentication it would be amazing.


Episode suggestion: VARCHAR vs TEXT


Pretty easy to get just from reading the first couple paragraphs of the documentation. Postgres has three string types, CHARACTER, CHARACTER VARYING, and TEXT.

CHARACTER VARYING is the basic type of string, and can be given with a maximum character length. If no length is given, the max value is assumed.

CHARACTER is a padded string - all strings are padded to the specified length with spaces. If no length is given, the length 1 is assumed.

TEXT is an alias for a CHARACTER VARYING without a length parameter (max length).

Actually all string types are handled the same internally, and there's no performance reason to use CHARACTER instead of CHARACTER VARYING. In fact it may hurt performance since the padding increases the data size. Using length constraints also carries a slight performance hit during writes as the constraint gets checked.

https://www.postgresql.org/docs/9.5/static/datatype-characte...


A very detailed breakdown of the basics of 'explain analyze' with various examples.


Edge cases of jsonb queries and best practices.


I'd love to see a tutorial for JSONB to be used as an alternative to an EAV model or a hybrid approach.


+1 for administration (esp. hot stand-by).


Primary keys: INTEGER, BIGINT or UUID?


HiLo


For those who don’t know what it is:

https://vladmihalcea.com/2014/06/23/the-hilo-algorithm/

Basically, it optimizes for lots of insert operations by using a composite primary key, one of which is a SERIAL assigned by the server, and the other is a value arbitrarily assigned by the client. This allows a client to assign and use many new unique keys without asking the server for a new value for every individual row.


and natural keys!


Working with raster data


A guide on setting up on a popular Linux distro/optimization/maintenance would be nice. Also maybe a guide on setting up Postgresql to use with a RESTful API? And one on window functions as others have said. If you know any good reporting tools that connect to Postgresql then that would be nice. I know, I don't ask for much.


For this, I highly recommend this tutorial by Christophe Pettus from PyCon: https://www.youtube.com/watch?v=knUitQQnpJo

It covers the basics of setting up Postgres as well as other things.


I think a tutorial on OpenRESTy would be very appropriate.


This is great. Keep it up! I don't mind the copy/pasting at all (I'd rather have the video progress than watch someone type something out). Looking forward to future shows (and 30 Rock references).


Thanks for the feedback. Seems like a happy medium would be to copy and paste from an editor that is on screen.


The screencast in which a guy just copies and pastes statements doesn’t help at all. If it is just copy and paste I can copy myself.


Would it be an improvement if we jumped back and forth between Vim so that you can see the syntax highlighted SQL before each statement is executed?


Or perhaps use pgcli?

http://pgcli.com/


Yes that would be helpful. I've edited SQL statements in Vim before and then sent the written buffer to PSQL. The added syntax highlighting made a difference to others watching my terminal.


I'd much rather see this than waiting on someone type out long statements and enduring the unnecessary pauses typing creates.


this, plus the transcript is stellar and has syntax highlighting!


The Generating JSON from SQL episode is cool but i'd really like to see an advanced follow up. For instance I've written a query to serialise a collection of records that have many relationships embedded, that conforms to the jsonapi 1.0 standard. Works great but very messy with deeply nested subqueries - hard to read, hard to reuse or alter. I'd really like to see an episode demonstrating a more composable way to craft a complex query like the aforementioned.


Would be sweet to learn how to get the PG indexed search engine to work. And how to interface with it in Php or Ruby


Oh, so this is about Postgres and not about Paul Graham doing screencasts? I totally failed to understand that from the title and skipped it. :) I see the clarifying "Postgres" there now, but didn't before. D'oh.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: