How to Install SQLite on Arch Linux and Manjaro (Tested)

On Arch Linux and Manjaro, sqlite comes from the official repositories, and it may already be installed as a dependency of other packages. On a rolling release, how you install or update it matters too. In this article I’ll walk you through checking for SQLite, then installing or updating it the supported way.

TLDR

  • The package is sqlite, in the core repository. It provides the sqlite3 command and the libsqlite3 library.
  • Check first with sqlite3 --version. Both base systems already had it as a dependency.
  • Install or update with sudo pacman -Syu sqlite, which upgrades the whole system with it.
  • Don’t run pacman -Sy sqlite. Arch doesn’t support partial upgrades.
  • For a GUI, sudo pacman -S sqlitebrowser installs DB Browser for SQLite from the extra repository.

What are you installing?

The sqlite package contains the sqlite3 shell, where you type SQL and see results, and the SQLite library that other programs link to. It also includes the C header and the man page. Manjaro uses Arch’s packages, so the same package and commands work on both.

Prerequisites

RequirementDetail
SystemArch Linux or Manjaro (tested in the official archlinux:latest and manjarolinux/base images)
AccessA user with sudo. The tests ran as root in containers, so the outputs show no sudo
NetworkNeeded for pacman to download packages

How to install SQLite on Arch Linux and Manjaro

To show you each step, I ran it in a fresh Arch container and a fresh Manjaro container.

Step 1: Check whether SQLite is already installed

Run sqlite3 --version, then ask pacman about the package. On Arch, SQLite was already there, pulled in by gnupg and util-linux-libs:

# sqlite3 --version | cut -d' ' -f1-2
3.53.4 2026-07-24
# pacman -Qi sqlite 2>/dev/null | grep -E '^(Name|Version|Required By|Install Reason)'
Name            : sqlite
Version         : 3.53.4-1
Required By     : gnupg  util-linux-libs
Install Reason  : Installed as a dependency for another package

The Manjaro image had it too, at an older version:

# sqlite3 --version | cut -d' ' -f1-2
3.51.2 2026-01-09
# pacman -Qi sqlite 2>/dev/null | grep -E '^(Name|Version|Required By|Install Reason)'
Name            : sqlite
Version         : 3.51.2-1
Required By     : gnupg  util-linux-libs
Install Reason  : Installed as a dependency for another package

Step 2: Look at the package

pacman -Si shows the repository version without installing anything. It reads your local package lists, which can be behind until the full upgrade in Step 3. The fresh test container had no lists yet, so it ran pacman -Sy first. On your own machine, follow pacman -Sy with a full upgrade, never with a single pacman -S:

# pacman -Sy >/dev/null && pacman -Si sqlite | grep -E '^(Repository|Name|Version|Depends On|Download Size|Installed Size)'
Repository      : core
Name            : sqlite
Version         : 3.53.4-1
Depends On      : readline  zlib  glibc
Download Size   : 2.41 MiB
Installed Size  : 16.80 MiB

Step 3: Install or update SQLite with a full upgrade

Install SQLite together with a full system upgrade. On your own machine, run it with sudo. The test containers ran as root, so the outputs below show the same command without sudo, plus --needed:

sudo pacman -Syu sqlite

The Arch Wiki explains why: Arch “is a rolling release distribution”, so upgrading one package can pull in a library that breaks another, and “partial upgrades are not supported” (Arch Wiki: System maintenance). --needed skips packages that are already current.

On Arch, SQLite was already current, so pacman skipped it and upgraded the rest of the system:

# pacman -Syu --needed --noconfirm sqlite 2>&1 | grep -E '^Packages|Total (Download|Installed)|up to date|there is nothing to do' | sed -E 's/^(Packages \([0-9]+\)) .* (sqlite-[^ ]+)\s*$/\1 … \2/'
warning: sqlite-3.53.4-1 is up to date -- skipping
Total Download Size:    7.69 MiB
Total Installed Size:  51.12 MiB

On Manjaro, the same command upgraded SQLite from 3.51.2 to 3.53.4, along with 135 other packages:

# pacman -Syu --needed --noconfirm sqlite 2>&1 | grep -E '^Packages|Total (Download|Installed)|up to date|there is nothing to do' | sed -E 's/^(Packages \([0-9]+\)) .* (sqlite-[^ ]+)\s*$/\1 … \2/'
Packages (136) … sqlite-3.53.4-1
Total Download Size:   176.92 MiB
Total Installed Size:  783.66 MiB

Check that it works

Print the version and the path:

# sqlite3 --version | cut -d' ' -f1-2
3.53.4 2026-07-24
# command -v sqlite3
/usr/sbin/sqlite3

pacman -Ql lists the files the package installed:

# pacman -Ql sqlite | grep -E 'bin/sqlite3$|libsqlite3.so$|include/sqlite3.h$|man1/sqlite3'
sqlite /usr/bin/sqlite3
sqlite /usr/include/sqlite3.h
sqlite /usr/lib/libsqlite3.so
sqlite /usr/share/man/man1/sqlite3.1.gz

Then create a database with two rows and read them back. The last query checks that the JSON functions and the FTS5 full-text search extension are compiled in (1 means yes):

# sqlite3 test.db "CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT); INSERT INTO users (name) VALUES ('ada'), ('linus');"
# sqlite3 -header -column test.db "SELECT * FROM users;"
id  name
--  -----
 1  ada
 2  linus
# sqlite3 :memory: "SELECT json_extract('{\"a\": 1}', '$.a') AS json_works, sqlite_compileoption_used('ENABLE_FTS5') AS fts5;"
1|1

Troubleshooting

  • sqlite3: command not found: the package isn’t installed. Run sudo pacman -Syu sqlite.
  • An old version after pacman -S sqlite: the local package lists were stale. pacman -Syu sqlite refreshes them and upgrades in one step.
  • Other programs break after updating only SQLite: that’s the partial-upgrade problem from Step 3. Run a full sudo pacman -Syu.

Install a GUI or other extras

DB Browser for SQLite is in the official extra repository, not only the AUR, so pacman installs it directly:

# pacman -Si sqlitebrowser | grep -E '^(Repository|Name|Version)'
Repository      : extra
Name            : sqlitebrowser
Version         : 3.13.1-3

The Arch Wiki lists other related packages, such as sqlite-doc for the offline documentation and sqlite-analyzer for the sqlite3_analyzer space report (Arch Wiki: SQLite).

Conclusion

On Arch and Manjaro, SQLite is a single core package, and the base systems tested here already had it as a dependency. Check with sqlite3 --version, and install or update it with sudo pacman -Syu sqlite rather than a partial upgrade.

Further reading

Tested with SQLite 3.53.4 from the Arch core repository, in archlinux:latest and manjarolinux/base containers (linux/amd64), 7 October 2026.