WITH und WITH RECURSIVE sind zwei Features, die ebenfalls in PostgreSQL 8.4 den Einzug in den Datenbankcore gefunden haben. Obwohl die Syntax sehr ähnlich wirkt, so geht es doch um unterschiedliche Dinge. Bei WITH geht es darum, häufig verwendete Ausdrücke einmal zu definieren und immer wieder zu verwenden. WITH RECURSIVE dient zum Abarbeiten von Rekursionen.