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, enums, functions, and extensions.

Limitations: Function inspection only confirmed to work with SQL/PLPGSQL languages so far.

Basic Usage

Get an inspection object from an already opened 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 other things it tracks. At each of these attributes you’ll find a dictionary (OrderedDict) mapping from fully-qualified-and-quoted-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!

Author Credits

Initial development, maintenance

Contributions

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.1532255552.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

schemainspect-0.1.1532255552-py2.py3-none-any.whl (16.4 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

File hashes

Hashes for schemainspect-0.1.1532255552.tar.gz
Algorithm Hash digest
SHA256 dda3f694cca6c360ad6b401c62e8e8cec760b441342382585d24ecfef741b24f
MD5 c8c886777dc35f96f7a90c3331d62c08
BLAKE2b-256 58f7e58ec857a55fa2468c01e150db6b4cd37139ca051ac8e9d005546e594cfd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for schemainspect-0.1.1532255552-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3a4d8a9fee4d85630a8f4e92ca8b7cc2a3356df28fce600c1be816524ef49b06
MD5 272c0a0d3e9bb23b8325cdd70e91e51d
BLAKE2b-256 b208b1eff6b9f5d5b5146157cb15563975535423127ad87f9767b39378248e4c

See more details on using hashes here.

Supported by

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