Skip to main content

Schema inspection for PostgreSQL

Project description

Schema inspection for PostgreSQL (and potentially others in the future).

Inspects tables, views, materialized views, constraints, indexes, sequences and functions.

Limitations: Function inspection only confirmed to work with SQL/PLPGSQL languages so far. Doesn’t inspect function modifiers (IMMUTABLE/STABLE/VOLATILE, STRICT, RETURNS NULL ON NULL INPUT, etc).

Basic Usage

Get an inspection object from an SQLAlchemy session or connection as follows:

from schemainspect import get_inspector
from sqlbag import S

with S('postgresql:///example') as s:
    i = get_inspector(s)

The inspection object has attributes for tables, views, and all the things it tracks. At each of these attributes you’ll find a dictionary (OrderedDict) mapping from fully-qualified-name-of-thing-in-database to information object.

For instance, the information about a table books would be accessed as follows:

>>> books_table = i.tables['"public"."books"']
>>> books_table.name
'books'
>>> books_table.schema
'public'
>>> [each.name for each in books_table.columns]
['id', 'title', 'isbn']

Documentation

Documentation is a bit patchy at the moment. Watch this space!

Install

Install with pip:

$ pip install schemainspect

To install psycopg2 (the PostgreSQL driver) at the same time as well:

$ pip install schemainspect[pg]

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

schemainspect-0.1.1469409161.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

schemainspect-0.1.1469409161-py2.py3-none-any.whl (11.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file schemainspect-0.1.1469409161.tar.gz.

File metadata

File hashes

Hashes for schemainspect-0.1.1469409161.tar.gz
Algorithm Hash digest
SHA256 ab6d1e0c77dd697d2158518e146f190388ed527512b6a7263f1719411c70aa21
MD5 5f4ea142f19f7d3f7c2105dfafc3a036
BLAKE2b-256 ef542f25a04997d9893c0241353a3887a4c8cc62b6b483cf52d196e4376db955

See more details on using hashes here.

File details

Details for the file schemainspect-0.1.1469409161-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for schemainspect-0.1.1469409161-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 dc54a71092931f8a02407959eb1fbb84474493e29b8f355953e58530169eb74e
MD5 082ea49200e35ddfa760089c6f3c1308
BLAKE2b-256 7ef443857e2c4b1ecc51ac0cfb1784e3e3f4de95c706211390e690e23ffb080d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page