django-pgclone


Namedjango-pgclone JSON
Version 3.4.1 PyPI version JSON
download
home_pagehttps://github.com/Opus10/django-pgclone
SummaryDump and restore Postgres databases with Django.
upload_time2024-04-06 16:51:43
maintainerNone
docs_urlNone
authorWes Kendall
requires_python<4,>=3.8.0
licenseBSD-3-Clause
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # django-pgclone

`django-pgclone` makes it easy to dump and restore Postgres databases.
Here are some key features:

1. Streaming dumps and restores to configurable storage backends like S3. Instances with limited memory aren't a problem for large databases.
2. A restoration process that works behind the scenes, swapping in the restored database when finished.
3. Configurable hooks into the dump and restore process, for example, migrating a restored database before it is swapped.
4. Reversible restores, making it possible to quickly revert to the initial restore or the previous database.
5. Re-usable configurations for instrumenting different types of dumps and restores.

## Quickstart

To dump a database, do:

    python manage.py pgclone dump

To list database dump keys, do:

    python manage.py pgclone ls

To restore a datase, do:

    python manage.py pgclone restore <dump_key>

Database dumps are relative to the storage location, which defaults to the local file system. Dump keys are in the format of `<instance>/<database>/<config>/<timestamp>.dump`.

When listing, use an optional prefix. Restoring supports the same interface, using the latest key that matches the prefix.

## Documentation

[View the django-pgclone docs here](https://django-pgclone.readthedocs.io/) to learn more about:

* The basics and an overview of how it works.
* The core command docs.
* Configuring an S3 storage backend.
* Running management command hooks during dumping or restoring.
* Creating restores that can be quickly reverted.
* Re-using command parameters for different flows.
* All settings.
* Additional details on using AWS RDS databases.

## Compatibility

`django-pgclone` is compatible with Python 3.8 - 3.12, Django 3.2 - 5.0, Psycopg 2 - 3, and Postgres 12 - 16.

## Installation

Install `django-pgclone` with:

    pip3 install django-pgclone

After this, add `pgclone` to the `INSTALLED_APPS` setting of your Django project.

**Note**  Install the AWS CLI to enable the S3 storage backend. Use `pip install awscli` or follow the [installation guide here](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

## Contributing Guide

For information on setting up `django-pgclone` for development and contributing changes, view [CONTRIBUTING.md](CONTRIBUTING.md).

## Primary Authors

- @wesleykendall (Wes Kendall)
- @ethanpobrien (Ethan O'Brien)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Opus10/django-pgclone",
    "name": "django-pgclone",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4,>=3.8.0",
    "maintainer_email": null,
    "keywords": null,
    "author": "Wes Kendall",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/90/bd/3d4a6a4c0226db53dda3f9ffe6bdfe4b362994937cfa35a73e0eac231bbd/django_pgclone-3.4.1.tar.gz",
    "platform": null,
    "description": "# django-pgclone\n\n`django-pgclone` makes it easy to dump and restore Postgres databases.\nHere are some key features:\n\n1. Streaming dumps and restores to configurable storage backends like S3. Instances with limited memory aren't a problem for large databases.\n2. A restoration process that works behind the scenes, swapping in the restored database when finished.\n3. Configurable hooks into the dump and restore process, for example, migrating a restored database before it is swapped.\n4. Reversible restores, making it possible to quickly revert to the initial restore or the previous database.\n5. Re-usable configurations for instrumenting different types of dumps and restores.\n\n## Quickstart\n\nTo dump a database, do:\n\n    python manage.py pgclone dump\n\nTo list database dump keys, do:\n\n    python manage.py pgclone ls\n\nTo restore a datase, do:\n\n    python manage.py pgclone restore <dump_key>\n\nDatabase dumps are relative to the storage location, which defaults to the local file system. Dump keys are in the format of `<instance>/<database>/<config>/<timestamp>.dump`.\n\nWhen listing, use an optional prefix. Restoring supports the same interface, using the latest key that matches the prefix.\n\n## Documentation\n\n[View the django-pgclone docs here](https://django-pgclone.readthedocs.io/) to learn more about:\n\n* The basics and an overview of how it works.\n* The core command docs.\n* Configuring an S3 storage backend.\n* Running management command hooks during dumping or restoring.\n* Creating restores that can be quickly reverted.\n* Re-using command parameters for different flows.\n* All settings.\n* Additional details on using AWS RDS databases.\n\n## Compatibility\n\n`django-pgclone` is compatible with Python 3.8 - 3.12, Django 3.2 - 5.0, Psycopg 2 - 3, and Postgres 12 - 16.\n\n## Installation\n\nInstall `django-pgclone` with:\n\n    pip3 install django-pgclone\n\nAfter this, add `pgclone` to the `INSTALLED_APPS` setting of your Django project.\n\n**Note**  Install the AWS CLI to enable the S3 storage backend. Use `pip install awscli` or follow the [installation guide here](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).\n\n## Contributing Guide\n\nFor information on setting up `django-pgclone` for development and contributing changes, view [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Primary Authors\n\n- @wesleykendall (Wes Kendall)\n- @ethanpobrien (Ethan O'Brien)\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "Dump and restore Postgres databases with Django.",
    "version": "3.4.1",
    "project_urls": {
        "Documentation": "https://django-pgclone.readthedocs.io",
        "Homepage": "https://github.com/Opus10/django-pgclone",
        "Repository": "https://github.com/Opus10/django-pgclone"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d8f163c88487636face3945a54bbad2ee8ddb20c580e8594110de8dc9d9ea6c8",
                "md5": "902c167404f5bae58b3dfa8a09ec4683",
                "sha256": "a8eb5bcd3dcd581931552a78a23c7ddde8d5a9fd21cd9b69ebf2d04d1cc3d8e4"
            },
            "downloads": -1,
            "filename": "django_pgclone-3.4.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "902c167404f5bae58b3dfa8a09ec4683",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4,>=3.8.0",
            "size": 20493,
            "upload_time": "2024-04-06T16:51:41",
            "upload_time_iso_8601": "2024-04-06T16:51:41.960139Z",
            "url": "https://files.pythonhosted.org/packages/d8/f1/63c88487636face3945a54bbad2ee8ddb20c580e8594110de8dc9d9ea6c8/django_pgclone-3.4.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "90bd3d4a6a4c0226db53dda3f9ffe6bdfe4b362994937cfa35a73e0eac231bbd",
                "md5": "08d30d532d4f2236a6ca5aaffc287463",
                "sha256": "fa1f6d82a831d8363d9af4387b0935ca33e74b02ed589c8337787602db0cfa30"
            },
            "downloads": -1,
            "filename": "django_pgclone-3.4.1.tar.gz",
            "has_sig": false,
            "md5_digest": "08d30d532d4f2236a6ca5aaffc287463",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4,>=3.8.0",
            "size": 16889,
            "upload_time": "2024-04-06T16:51:43",
            "upload_time_iso_8601": "2024-04-06T16:51:43.308947Z",
            "url": "https://files.pythonhosted.org/packages/90/bd/3d4a6a4c0226db53dda3f9ffe6bdfe4b362994937cfa35a73e0eac231bbd/django_pgclone-3.4.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-06 16:51:43",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Opus10",
    "github_project": "django-pgclone",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "circle": true,
    "tox": true,
    "lcname": "django-pgclone"
}
        
Elapsed time: 0.22218s