SQLite Loading Extensions on MacOS
MacOS comes with a default SQLite that doesn’t allow you to load extensions.
You can check by opening up sqlite with sqlite3
and running this:
select * from pragma_compile_options();
You should see OMIT_LOAD_EXTENSION
, meaning that extensions can’t be loaded.
If you run which sqlite3
, you should see that it is in /usr/bin/sqlite3
.
The quickest way to get a SQLite that can load extensions is with Homebrew. Simply brew install homebrew
.
You can confirm the path by checking the output under caveats when running brew info sqlite
. It should be something like /opt/homebrew/opt/sqlite/bin/sqlite3
, but if you have an older OS or Homebrew, it might look something like /usr/local/opt/sqlite/bin/sqlite3
.
Now, if you want to use an extension like sqlean in your SQLite connection, you can simply run:
.load relative/path/to/file/sqlean