"invalid or corrupted database"

Hi, I’ve got an issue similar to this: Can't update or install or search anything from normal repository. Invalid or corrupted database
Always when I try to update or install a package, I get the error prompted from the headline.
The commands from the linked issue produce the following output:

~ >>> cat /etc/pacman.conf                                                                                                                                                                                                              [1]
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
CacheDir = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/
#HookDir     = /etc/pacman.d/hooks/
HoldPkg      = pacman glibc manjaro-system
# If upgrades are available for these packages they will be asked for first
SyncFirst    = manjaro-system archlinux-keyring manjaro-keyring
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
#UseDelta    = 0.7
Architecture = auto

#IgnorePkg   =
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
#Color
#TotalDownload
# We cannot check disk space from within a chroot environment
CheckSpace
#VerbosePkgLists

# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required

# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Manjaro Linux
# packagers with `pacman-key --populate archlinux manjaro`.

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.

[core]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

[extra]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

[community]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.

[multilib]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
~ >>> sudo pacman -Syu                                                                                                                                                                                                                  [1]
error: GPGME error: No data
:: Synchronizing package databases...
 core                                                                                                             168.9 KiB  3.11 MiB/s 00:00 [#######################################################################################] 100%
 extra is up to date
 community is up to date
 multilib is up to date
error: GPGME error: No data
error: failed to synchronize all databases (unexpected error)

~ >>> sudo pacman -Scc                                                                                                                                                                                                                [130]
sudo pacman-mirrors --country all --api --protocols all --set-branch stable && sudo pacman -Syyu
error: GPGME error: No data

Cache directory: /var/cache/pacman/pkg/
:: Do you want to remove ALL files from cache? [y/N] y
removing all files from cache...

Database directory: /var/lib/pacman/
:: Do you want to remove unused repositories? [Y/n] y
removing unused sync repositories...
::INFO Branch in config is changed
::INFO Protocols in config is changed
::INFO Downloading mirrors from Manjaro
::INFO => Mirror pool: https://repo.manjaro.org/mirrors.json
::INFO => Mirror status: https://repo.manjaro.org/status.json
::INFO Using default mirror file
::INFO Querying mirrors - This may take some time
  0.136 Australia      : https://manjaro.lucassymons.net/
  0.343 Austria        : ftp://mirror.easyname.at/manjaro/
  1.860 Bangladesh     : http://mirror.xeonbd.com/manjaro/
  0.346 Belarus        : http://mirror.datacenter.by/pub/mirrors/manjaro/
[...]
::China           : https://mirrors.tuna.tsinghua.edu.cn/manjaro/stable
::Thailand        : ftp://mirror.kku.ac.th/manjaro/stable
::INFO Mirror list generated and saved to: /etc/pacman.d/mirrorlist
error: GPGME error: No data
:: Synchronizing package databases...
 core                                                                                                             168.9 KiB  2.89 MiB/s 00:00 [#######################################################################################] 100%
 extra                                                                                                           1918.1 KiB  11.3 MiB/s 00:00 [#######################################################################################] 100%
 community                                                                                                          6.8 MiB  14.9 MiB/s 00:00 [#######################################################################################] 100%
 multilib                                                                                                         176.5 KiB  5.74 MiB/s 00:00 [#######################################################################################] 100%
error: GPGME error: No data
error: failed to synchronize all databases (unexpected error)

What can I do to fix it?

Hi @opet,

I’d say you need to update your databases. I might be wrong, but that’s what it looks like to me. Try:

pamac checkupdates

That should, theoretically, update the package databases. Afterward, if successful, you can update with:

pamac update

Hope this helps!

Edit:

Also, see