PostgreSQL documentation data types parser.
Project description
📦 pgdoc-datatype-parser
PostgreSQL documentation datatypes table as a dictionary specifying a version. Supports all versions next to 6.3
.
Quickstart
pip install pgdoc-datatype-parser
You can retrieve all PostgreSQL datatypes for the latest version using:
>>> from pprint import pprint
>>> from pgdoc_datatype_parser import pgdoc_datatypes
>>>
>>> pprint(pgdoc_datatypes())
{'bigint': {'aliases': 'int8', 'description': 'Signed eight-byte integer'},
'bigserial': {'aliases': 'serial8',
'description': 'Autoincrementing eight-byte integer'},
'bit [ (n) ]': {'aliases': None, 'description': 'Fixed-length bit string'},
'bit varying [ (n) ]': {'aliases': 'varbit [ (n) ]',
'description': 'Variable-length bit string'},
'boolean': {'aliases': 'bool', 'description': 'Logical boolean (true/false)'},
'box': {'aliases': None, 'description': 'Rectangular box on a plane'},
'bytea': {'aliases': None, 'description': 'Binary data (byte array)'},
'character [ (n) ]': {'aliases': 'char [ (n) ]',
'description': 'Fixed-length character string'},
'character varying [ (n) ]': {'aliases': 'varchar [ (n) ]',
'description': 'Variable-length character '
'string'},
'cidr': {'aliases': None, 'description': 'Ipv4 or ipv6 network address'},
'circle': {'aliases': None, 'description': 'Circle on a plane'},
'date': {'aliases': None, 'description': 'Calendar date (year, month, day)'},
'double precision': {'aliases': 'float8',
'description': 'Double precision floating-point number '
'(8 bytes)'},
'inet': {'aliases': None, 'description': 'Ipv4 or ipv6 host address'},
'integer': {'aliases': ['int', ' int4'],
'description': 'Signed four-byte integer'},
'interval [ fields ] [ (p) ]': {'aliases': None, 'description': 'Time span'},
'json': {'aliases': None, 'description': 'Textual json data'},
'jsonb': {'aliases': None, 'description': 'Binary json data, decomposed'},
'line': {'aliases': None, 'description': 'Infinite line on a plane'},
'lseg': {'aliases': None, 'description': 'Line segment on a plane'},
'macaddr': {'aliases': None,
'description': 'Mac (media access control) address'},
'macaddr8': {'aliases': None,
'description': 'Mac (media access control) address (eui-64 '
'format)'},
'money': {'aliases': None, 'description': 'Currency amount'},
'numeric [ (p, s) ]': {'aliases': 'decimal [ (p, s) ]',
'description': 'Exact numeric of selectable precision'},
'path': {'aliases': None, 'description': 'Geometric path on a plane'},
'pg_lsn': {'aliases': None, 'description': 'Postgresql log sequence number'},
'pg_snapshot': {'aliases': None,
'description': 'User-level transaction id snapshot'},
'point': {'aliases': None, 'description': 'Geometric point on a plane'},
'polygon': {'aliases': None,
'description': 'Closed geometric path on a plane'},
'real': {'aliases': 'float4',
'description': 'Single precision floating-point number (4 bytes)'},
'serial': {'aliases': 'serial4',
'description': 'Autoincrementing four-byte integer'},
'smallint': {'aliases': 'int2', 'description': 'Signed two-byte integer'},
'smallserial': {'aliases': 'serial2',
'description': 'Autoincrementing two-byte integer'},
'text': {'aliases': None, 'description': 'Variable-length character string'},
'time [ (p) ] [ without time zone ]': {'aliases': None,
'description': 'Time of day (no time '
'zone)'},
'time [ (p) ] with time zone': {'aliases': 'timetz',
'description': 'Time of day, including time '
'zone'},
'timestamp [ (p) ] [ without time zone ]': {'aliases': None,
'description': 'Date and time (no '
'time zone)'},
'timestamp [ (p) ] with time zone': {'aliases': 'timestamptz',
'description': 'Date and time, including '
'time zone'},
'tsquery': {'aliases': None, 'description': 'Text search query'},
'tsvector': {'aliases': None, 'description': 'Text search document'},
'txid_snapshot': {'aliases': None, 'description': 'Pg_snapshot'},
'uuid': {'aliases': None, 'description': 'Universally unique identifier'},
'xml': {'aliases': None, 'description': 'Xml data'}}
You can check what is the latest version using latest_version function:
>>> from pgdoc_datatype_parser import latest_version
>>> latest_version()
'13.1b'
If you want to retrieve PostgreSQL datatypes for other version, you can specify the optional parameter
version
of pgdoc_datatypes function.
All versions can be listed using versions function.
Documentation
# pgdoc_datatypes(version="latest", pg_releases_filepath=None) ⇒ dict
Provides information for all PostgreSQL data types from documentation data types table.
- version (str) Version from which PostgreSQL datatypes will be retrieved.
- pg_releases_filepath (str) Path to PostgreSQL releases/commits file. By default, the file included with the package will be used.
# versions(pg_releases_filepath=None) ⇒ list
Returns all PostgreSQL available versions.
- pg_releases_filepath (str) Path to PostgreSQL releases/commits file. By default, the file included with the package will be used.
# latest_version(pg_releases_filepath=None) ⇒ str
Returns latest PostgreSQL available version.
- pg_releases_filepath (str) Path to PostgreSQL releases/commits file. By default, the file included with the package will be used.
# pg_release_name_to_version(release_name) ⇒ str
PostgreSQL releases are named in the form REL<MAJOR>_<MINOR>_<RC><PATCH>
. You can use this function to convert release names into semantic version form.
- release_name (str) Name of the PostgreSQL release name to convert into it's correspondent semantic version form.
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
Built Distribution
Hashes for pgdoc_datatype_parser-1.1.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | efc1847d13b76ce465ffe0586fa47424e9925b550dfa6519571ad294779a9458 |
|
MD5 | f672576dda18b29ae0f7d53bb810e54c |
|
BLAKE2b-256 | 106fba417c5b01cdee8869edda29b704c58da04e422489ca0ab234c977964645 |
Hashes for pgdoc_datatype_parser-1.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 998f4cf36c66a73f5e844195db00cb71a9bd8fb7cbf6c8e87b8699aed81381bb |
|
MD5 | 5186d8585be7b0e87bc77ffbf45e1f4a |
|
BLAKE2b-256 | 3dfec9c977798b32a4750c86518751da4534359532ff6ede88444992137d3e61 |