Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

P4 Server Administration Documentation | 2025.1

# From prior to 2013.3

Follow these instructions if your old version is 2013.2 or earlier.

- Compared to earlier versions, the 2013.3 version (and later) contains major changes to the database implementation. These changes allow for increased concurrency and scalability, and removes the 16TB size limit for `db.*` database files.
- Although the `db.*` database file format has changed, the checkpoint and journal file formats are identical. To upgrade from 2013.2 or earlier to version 2013.3 or later, you must restore the database from a checkpoint.
- To upgrade P4 Server to a newer version, your license file must be current.
- Before shutting down a replica and commencing the upgrade, wait for all archive transfers to end.

## To restore from a checkpoint

1. Stop the Perforce service (`p4 admin stop`).
2. Make a checkpoint and back up your old installation. (see Backup procedure)

3. If a file called `tiny.db` exists in your old server root, you must back it up separately by running the following command with the old `p4d`:

   `p4d -xf 857 > tiny.ckp`

4. Remove the old `db.*` files, or preferably, move them to a safe location in the event that the upgrade fails by using mv (Linux) or move (Windows). For example:

   `mv your_root_dir /db.* /tmp`

   There must be no `db.*` files in the `P4ROOT` directory when you rebuild a database from a checkpoint. Although the old `db.*` files will not be used again, it’s good practice not to delete them until you’re certain your upgrade was successful.

5. Remove the `rdb.lbr` file, if it exists.

   The `rdb.lbr` file keeps track of files that need to be transferred to the (local) replica, and might become out of date while the upgrade is underway. Note that this file only exists if your Perforce service was configured as a replica.

6. Replace the old (2013.2 or earlier) `p4d` executable with the new (2013.3 or later) `p4d` executable.

   Do not run `p4d -xu` after replacing `p4d` at this time. In this upgrade scenario, you are not upgrading an existing database, you have removed it completely and will rebuild it from the checkpoint that you just took.

7. Use the upgraded `p4d` to replay the checkpoint and rebuild the new database tables:

   p4d -r your/P4ROOT/directory -jr checkpoint_file

8. If your site uses localized server messages from a message file obtained through Perforce technical support, retrieve the original `message.txt` file and re-create `db.message` in the new database format by running the following command with the new `p4d`:

   p4d -jr absolute/path/to/message.txt

   See Localizing server error messages for more information.

9. If you created a `tiny.ckp` file as part of your backup process, restore `tiny.db` by running the following command with the new `p4d`:

       p4d -xf 857 tiny.ckp

10. Follow the steps at From 2013.3 - 2018.2 to latest (single server) or From 2013.3 - 2018.2 to latest (multi-server environment)
    but skip the following steps in those pages:

    Shut down the server by running p4 admin stop

    Install the new version of the p4d binary on the system.

    because you already performed Steps 1 and 6 on this page.

Your search for returned results