{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3" ], "description": "*********************************************\nlazr.postgresql: Launchpad PostgreSQL support\n*********************************************\n\n Copyright (c) 2011-2018, Canonical Ltd\n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, version 3 only.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License along\n with this program. If not, see .\n GNU General Public License version 3 (see the file LICENSE).\n\nlazr.postgresql contains various helpers used by Launchpad for PostgreSQL\nsupport. Primary amongst these is the Slony aware database migrations facility.\n\nDependencies\n============\n\n* Python 2.7+\n\nTesting Dependencies\n====================\n\n* subunit (http://pypi.python.org/pypi/python-subunit) (optional)\n\n* testtools (http://pypi.python.org/pypi/testtools)\n\n* van.pg (http://pypi.python.org/pypi/van.pg)\n\nUsage\n=====\n\nDatabase migrations\n+++++++++++++++++++\n\nThe upgrade tool will apply data migrations to PostgreSQL or Slony\nenvironments.\n\nEach migration is a SQL file named patch-$major-$minor-$point-$type.sql.\nMajor, minor and point are integers that provide a sequence for how patches\nare applied.\nThe type tells the migration applier whether the migration should be applied\nin a normal transaction, directly to all the nodes in the cluster in a\ntransaction, or directly to all the nodes in a cluster outside of a transaction.\nThese are indicated by 'std', 'direct' and 'concurrent'.\n\nIf a patch application is interrupted in anything other than 'standard' mode,\nmanual cleanup may be required (e.g. because a half built index will be in\nplace on some nodes).\n\nFor instance a file called patch-1-2-3-concurrent.sql will be applied in the\nfollowing way on a non-Slony environment:\n\n* A transaction on the master will be opened and the row 1-2-3 added to the list\n of applied patches. This prevents other migrations being attempted\n simultaneously.\n* Then the contents of the patch file will be executed.\n* The end timestamp for the 1-2-3 row will be updated.\n* Finally the transaction is committed.\n\nIn a Slony environment the following would happen:\n\n* A transaction on the master will be opened and the row 1-2-3 added to the list\n of applied patches. This prevents other migrations being attempted\n simultaneously.\n* On all nodes the the contents of the patch file will be executed in separate\n connections outside of a transaction.\n* The end timestamp for the 1-2-3 row will be updated.\n* Finally the transaction is committed.\n\nA single invocation of upgrade.py will only apply std, or direct + concurrent\npatches unless the --all parameter is given, when it will loop until all\npatches are applied.\n\nMore coming soon.\n\nInstallation\n============\n\nEither run setup.py in an environment with all the dependencies available, or\nadd the working directory to your PYTHONPATH.\n\nDevelopment\n===========\n\nUpstream development takes place at https://launchpad.net/lazr-postgresql.\nTo setup a working area for development, if the dependencies are not\nimmediately available, you can use ./bootstrap.py to create bin/buildout, then\nbin/py to get a python interpreter with the dependencies available.\n\nTo run the tests use the runner of your choice, the test suite is\nlazr.postgresql.tests.test_suite.\n\nFor instance::\n\n $ PYTHONPATH=src bin/py -m testtools.run lazr.postgresql.tests.test_suite\n\nIf you have testrepository you can run the tests with it:\n\n $ testr run\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://launchpad.net/lazr-postgresql", "keywords": "", "license": "", "maintainer": "Launchpad Developers", "maintainer_email": "launchpad-dev@lists.launchpad.net", "name": "lazr_postgresql", "package_url": "https://pypi.org/project/lazr_postgresql/", "platform": "", "project_url": "https://pypi.org/project/lazr_postgresql/", "project_urls": { "Homepage": "https://launchpad.net/lazr-postgresql" }, "release_url": "https://pypi.org/project/lazr_postgresql/0.0.4/", "requires_dist": [ "fixtures; extra == 'test'", "testtools; extra == 'test'", "van.pg; extra == 'test'" ], "requires_python": "", "summary": "LAZR postgresql specific support code.", "version": "0.0.4" }, "last_serial": 3781153, "releases": { "0.0.1": [], "0.0.3": [ { "comment_text": "", "digests": { "md5": "458f03837ed0cde56718aa7a408722b5", "sha256": "3eda44471daaa2b2e9d9066862cbada7106f7bb732741b8cf92a920cc9dda8fd" }, "downloads": -1, "filename": "lazr_postgresql-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "458f03837ed0cde56718aa7a408722b5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23561, "upload_time": "2018-04-19T14:14:08", "url": "https://files.pythonhosted.org/packages/85/9c/be33466d0ed8d0ddaa020eb41227047ecab174b7ba124d1062e20fc77977/lazr_postgresql-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "687adc40fc4cb92363fce679f56dbfac", "sha256": "2c1a000cca7bbade58855a11290f66da7795e0267a5bed864e0b22fde11936fa" }, "downloads": -1, "filename": "lazr_postgresql-0.0.3.tar.gz", "has_sig": false, "md5_digest": "687adc40fc4cb92363fce679f56dbfac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16189, "upload_time": "2018-04-19T14:14:10", "url": "https://files.pythonhosted.org/packages/7c/82/d27130ae3a7d7094d55c112c48e973e6d6fb0e423e362ae113c46ecf7748/lazr_postgresql-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "9b132265d1e81e1b56b2e22711f63f2a", "sha256": "5c26ac4177b0a34a3f0b666316f76c39af290f427caab2fad6a8f7000fee4611" }, "downloads": -1, "filename": "lazr_postgresql-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9b132265d1e81e1b56b2e22711f63f2a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23540, "upload_time": "2018-04-19T15:40:53", "url": "https://files.pythonhosted.org/packages/e1/a6/82d61107b506bb550e07b042ebc4069cbb95ed90a21039291303bb702496/lazr_postgresql-0.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da7e895ca14eda3641bcb91fd6c800d3", "sha256": "bbef0fea5b4678123790a4fdaef412a207585793b5bc977d0151c46d927dfcca" }, "downloads": -1, "filename": "lazr_postgresql-0.0.4.tar.gz", "has_sig": false, "md5_digest": "da7e895ca14eda3641bcb91fd6c800d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14721, "upload_time": "2018-04-19T15:40:54", "url": "https://files.pythonhosted.org/packages/48/cf/9a6e6f28717bd0292a1ad6d2dc9e3368bf674a795820f4025d1a7e2ec011/lazr_postgresql-0.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9b132265d1e81e1b56b2e22711f63f2a", "sha256": "5c26ac4177b0a34a3f0b666316f76c39af290f427caab2fad6a8f7000fee4611" }, "downloads": -1, "filename": "lazr_postgresql-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9b132265d1e81e1b56b2e22711f63f2a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23540, "upload_time": "2018-04-19T15:40:53", "url": "https://files.pythonhosted.org/packages/e1/a6/82d61107b506bb550e07b042ebc4069cbb95ed90a21039291303bb702496/lazr_postgresql-0.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da7e895ca14eda3641bcb91fd6c800d3", "sha256": "bbef0fea5b4678123790a4fdaef412a207585793b5bc977d0151c46d927dfcca" }, "downloads": -1, "filename": "lazr_postgresql-0.0.4.tar.gz", "has_sig": false, "md5_digest": "da7e895ca14eda3641bcb91fd6c800d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14721, "upload_time": "2018-04-19T15:40:54", "url": "https://files.pythonhosted.org/packages/48/cf/9a6e6f28717bd0292a1ad6d2dc9e3368bf674a795820f4025d1a7e2ec011/lazr_postgresql-0.0.4.tar.gz" } ] }