Skip to content

Rate this page
Thanks for your feedback
Thank you! The feedback has been submitted.

Get free database assistance or contact our experts for personalized support.

Make a selective logical backup

Before you start

  1. Install and set up Percona Backup for MongoDB
  2. Check that pbm agent is running with the pbm status command
  3. Check that all pbm-agents and PBM CLI have the same version. Otherwise we cannot guarantee successful backups and data consistency in them.

    To check the version, run the following commands:

Procedure

Version added: 2.0.0

Before you start, read about selective backups known limitations.

To make a selective backup, run the pbm backup command and provide the value for the --ns flag in the format <database.collection>. The --ns flag value is case sensitive. For example, to back up the “Payments” collection, run the following command:

pbm backup --ns=customers.payments

To back up the “Invoices” database and all collections that it includes, run the pbm backup command as follows:

pbm backup --ns=invoices.*

To back up multiple namespaces, specify them as a comma-separated list for the --ns flag: <db1.col1>,<db2.*>,<db3.collX>. The number of namespaces to specify is unlimited.

During the backup process, Percona Backup for MongoDB stores data in the new multi-file format where each collection has a separate file. The oplog is stored for all namespaces regardless whether this is a full or selective backup.

Multi-format is the default data format for both full and selective backups since it allows selective restore. Note, however, that you can make only full restores from backups made with earlier versions of Percona Backup for MongoDB.

Selective backup with users and roles

Overview

Percona Backup for MongoDB enables you to perform selective backups of databases and collections. Also, you can choose to include users and roles defined in the database in your selective backup, ensuring that access control is restored along with the data.

To back up a specific namespace and include users and roles, run the following command:

pbm backup --ns="mydb.*" --with-users-and-roles

where:

--ns="mydb.*" specifies the namespace (all collections in mydb).

--with-users-and-roles includes all users and custom roles defined in mydb in the backup.

What happens under the hood?
  • Percona Backup for MongoDB captures all collections within mydb.
  • Percona Backup for MongoDB filters the users and roles for entities where the db field matches mydb.
  • Global administrative roles or users defined in other databases are excluded.

Example

pbm backup --ns="invoices.*" --with-users-and-roles

This command backs up all collections in the invoices database, along with its users and roles.

Use cases

As applications scale, migrating a specific database from a shared cluster to a dedicated cluster becomes necessary. Using the --with-users-and-roles flag ensures that the destination cluster inherits the application-specific users and custom roles immediately, thereby preventing errors post-migration.

To reproduce production issues or validate security patches, you need a staging environment that mirrors production exactly.

By backing up mydb together with its users and roles, the copy reflects not only the data but also the access-control model. This enables accurate reproduction of permission-related behavior such as read/write restrictions, role grants, and user privileges.

Next steps

List backups Make a restore


Last update: February 11, 2026
Created: February 11, 2026