I have 10+ years of experience with MS SQL Server, doing moderately-advanced tasks such as tuning queries and indexes, managing replication and high availability, etc. I'm looking to learn more about PostgreSQL, but if possible I'd love to be able to piggyback on the broader RDBMS knowledge I already have. For example, I understand the broad principles of how indexes work from my experience with MSSQL, but I know that in Postgres the specific implementation will be significantly different.<p>I'm hoping for some recommendations for learning Postgres that can take my existing knowledge into account, so I'm not starting from scratch. I'm interested in understanding how the engine works, as opposed to differences in syntax. In other words, explanations of PostgreSQL internals, or if such a thing exists, a comparison with SQL Server. Of course, if there are specific reasons why it might be better to start from scratch, I'd be interested to hear those too.
I'd recommend starting "from scratch" for the simple reason that the official PostgreSQL manual is excellent:<p><a href="https://www.postgresql.org/docs/14/index.html" rel="nofollow">https://www.postgresql.org/docs/14/index.html</a><p>You'll quickly find which parts of the manual are interesting to you and which ones just repeat what you already know (or could have guessed on your own). Since the manual is very well structured, skipping those parts is very easy.