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!
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.