Self-contained, embeddable, zero-configuration SQL database engine

SQLite for Mac

SQLite 3.17.0

  -  1.1 MB  -  Freeware

Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system.

Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of SQLite 3.17.0.


For those interested in downloading the most recent release of SQLite for Mac or reading our review, simply click here.


All old versions distributed on our website are completely virus-free and available for download at no cost.


We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

  • SQLite 3.17.0 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    SQLite 3.17.0 Screenshot 1

What's new in this version:

- Add the SQLITE_DEFAULT_LOOKASIDE compile-time option
- Increase the default lookaside size from 512,125 to 1200,100 as this provides better performance while only adding 56KB of extra memory per connection. Memory-sensitive applications can restore the old default at compile-time, start-time, or run-time
- Use compiler built-ins __builtin_sub_overflow(), __builtin_add_overflow(), and __builtin_mul_overflow() when available. (All compiler built-ins can be omitted with the SQLITE_DISABLE_INTRINSIC compile-time option.)
- Added the SQLITE_ENABLE_NULL_TRIM compile-time option, which can result in significantly smaller database files for some applications, at the risk of being incompatible with older versions of SQLite
- Change SQLITE_DEFAULT_PCACHE_INITSZ from 100 to 20, for improved performance
- Added the SQLITE_UINT64_TYPE compile-time option as an analog to SQLITE_INT64_TYPE
- Perform some UPDATE operations in a single pass instead of in two passes
- Enhance the session extension to support WITHOUT ROWID tables
- Fixed performance problems and potential stack overflows when creating views from multi-row VALUES clauses with hundreds of thousands of rows
- Added the sha1.c extension
- In the command-line shell, enhance the ".mode" command so that it restores the default column and row separators for modes "line", "list", "column", and "tcl"
- Enhance the SQLITE_DIRECT_OVERFLOW_READ option so that it works in WAL mode as long as the pages being read are not in the WAL file
- Enhance the LEMON parser generator so that it can store the parser object as a stack variable rather than allocating space from the heap and make use of that enhancement in the amalgamation
- Other performance improvements. Uses about 6.5% fewer CPU cycles

Approximately 25% better performance from the R-Tree extension:
- Uses compiler built-ins (ex: __builtin_bswap32() or _byteswap_ulong()) for byteswapping when available
- Uses the sqlite3_blob key/value access object instead of SQL for pulling content out of R-Tree nodes
- Other miscellaneous enhancements such as loop unrolling

Bug Fixes:
- Throw an error if the ON clause of a LEFT JOIN references tables to the right of the ON clause. This is the same behavior as PostgreSQL. Formerly, SQLite silently converted the LEFT JOIN into an INNER JOIN
- Use the correct affinity for columns of automatic indexes
- Ensure that the sqlite3_blob_reopen() interface can correctly handle short rows