Básicamente correcto. La diferencia importante es que SET es un comando SQL, mientras que los otros dos son meta-comandos psql, indicados por el prefijo \ .
-
SETes un comando SQL para cambiar los parámetros de tiempo de ejecución. Se ejecuta en el servidor y no tiene nada que ver con psql per se. -
\setes un metacomando de psql y, según la documentación :
\psetes otro metacomando de psql. Por documentación :