−December 5, 2006: PostgreSQL 8.2 was released. Its row comparisons using <, <=, >, >= were changed to follow SQL-standard left-to-right semantics, and could be used as index constraints for multicolumn indexes matching the row value.[Footnote 1]
September 2007: Mark Nottingham’s RFC 5005, “Feed Paging and Archiving,” distinguished complete, paged, and archived web feeds.[Footnote 2]
2008: According to the contemporary PostgreSQL 8.4 manual, SQL:2008 introduced OFFSET … FETCH syntax. This dates the standard syntax; LIMIT and pagination were already in use.[Footnote 3]
October 14, 2016: SQLite 3.15.0 introduced row values. The date concerns SQLite’s feature; row comparisons could already be used to find the next range in PostgreSQL 8.2 in 2006.[Footnote 4]
+June 9, 1999: PostgreSQL 6.5 added LIMIT/OFFSET. Its contemporary SELECT documentation describes limiting the returned rows and selecting their range.[Footnote 1]
December 5, 2006: PostgreSQL 8.2 was released. Its row comparisons using <, <=, >, >= were changed to follow SQL-standard left-to-right semantics, and could be used as index constraints for multicolumn indexes matching the row value.[Footnote 2]
September 2007: Mark Nottingham’s RFC 5005, “Feed Paging and Archiving,” distinguished complete, paged, and archived web feeds.[Footnote 3]
2008: According to the contemporary PostgreSQL 8.4 manual, SQL:2008 introduced OFFSET … FETCH syntax. This dates the standard syntax; LIMIT and pagination were already in use.[Footnote 4]
October 14, 2016: SQLite 3.15.0 introduced row values. The date concerns SQLite’s feature; row comparisons could already be used to find the next range in PostgreSQL 8.2 in 2006.[Footnote 5]