1# dialects/postgresql/__init__.py
2# Copyright (C) 2005-2025 the SQLAlchemy authors and contributors
3# <see AUTHORS file>
4#
5# This module is part of SQLAlchemy and is released under
6# the MIT License: https://www.opensource.org/licenses/mit-license.php
7# mypy: ignore-errors
8
9from types import ModuleType
10
11from . import array as arraylib # noqa # keep above base and other dialects
12from . import asyncpg # noqa
13from . import base
14from . import pg8000 # noqa
15from . import psycopg # noqa
16from . import psycopg2 # noqa
17from . import psycopg2cffi # noqa
18from .array import All
19from .array import Any
20from .array import ARRAY
21from .array import array
22from .base import BIGINT
23from .base import BOOLEAN
24from .base import CHAR
25from .base import DATE
26from .base import DOMAIN
27from .base import DOUBLE_PRECISION
28from .base import FLOAT
29from .base import INTEGER
30from .base import NUMERIC
31from .base import REAL
32from .base import SMALLINT
33from .base import TEXT
34from .base import UUID
35from .base import VARCHAR
36from .dml import Insert
37from .dml import insert
38from .ext import aggregate_order_by
39from .ext import array_agg
40from .ext import ExcludeConstraint
41from .ext import phraseto_tsquery
42from .ext import plainto_tsquery
43from .ext import to_tsquery
44from .ext import to_tsvector
45from .ext import ts_headline
46from .ext import websearch_to_tsquery
47from .hstore import HSTORE
48from .hstore import hstore
49from .json import JSON
50from .json import JSONB
51from .json import JSONPATH
52from .named_types import CreateDomainType
53from .named_types import CreateEnumType
54from .named_types import DropDomainType
55from .named_types import DropEnumType
56from .named_types import ENUM
57from .named_types import NamedType
58from .ranges import AbstractMultiRange
59from .ranges import AbstractRange
60from .ranges import AbstractSingleRange
61from .ranges import DATEMULTIRANGE
62from .ranges import DATERANGE
63from .ranges import INT4MULTIRANGE
64from .ranges import INT4RANGE
65from .ranges import INT8MULTIRANGE
66from .ranges import INT8RANGE
67from .ranges import MultiRange
68from .ranges import NUMMULTIRANGE
69from .ranges import NUMRANGE
70from .ranges import Range
71from .ranges import TSMULTIRANGE
72from .ranges import TSRANGE
73from .ranges import TSTZMULTIRANGE
74from .ranges import TSTZRANGE
75from .types import BIT
76from .types import BYTEA
77from .types import CIDR
78from .types import CITEXT
79from .types import INET
80from .types import INTERVAL
81from .types import MACADDR
82from .types import MACADDR8
83from .types import MONEY
84from .types import OID
85from .types import REGCLASS
86from .types import REGCONFIG
87from .types import TIME
88from .types import TIMESTAMP
89from .types import TSQUERY
90from .types import TSVECTOR
91
92
93# Alias psycopg also as psycopg_async
94psycopg_async = type(
95 "psycopg_async", (ModuleType,), {"dialect": psycopg.dialect_async}
96)
97
98base.dialect = dialect = psycopg2.dialect
99
100
101__all__ = (
102 "INTEGER",
103 "BIGINT",
104 "SMALLINT",
105 "VARCHAR",
106 "CHAR",
107 "TEXT",
108 "NUMERIC",
109 "FLOAT",
110 "REAL",
111 "INET",
112 "CIDR",
113 "CITEXT",
114 "UUID",
115 "BIT",
116 "MACADDR",
117 "MACADDR8",
118 "MONEY",
119 "OID",
120 "REGCLASS",
121 "REGCONFIG",
122 "TSQUERY",
123 "TSVECTOR",
124 "DOUBLE_PRECISION",
125 "TIMESTAMP",
126 "TIME",
127 "DATE",
128 "BYTEA",
129 "BOOLEAN",
130 "INTERVAL",
131 "ARRAY",
132 "ENUM",
133 "DOMAIN",
134 "dialect",
135 "array",
136 "HSTORE",
137 "hstore",
138 "INT4RANGE",
139 "INT8RANGE",
140 "NUMRANGE",
141 "DATERANGE",
142 "INT4MULTIRANGE",
143 "INT8MULTIRANGE",
144 "NUMMULTIRANGE",
145 "DATEMULTIRANGE",
146 "TSVECTOR",
147 "TSRANGE",
148 "TSTZRANGE",
149 "TSMULTIRANGE",
150 "TSTZMULTIRANGE",
151 "JSON",
152 "JSONB",
153 "JSONPATH",
154 "Any",
155 "All",
156 "DropEnumType",
157 "DropDomainType",
158 "CreateDomainType",
159 "NamedType",
160 "CreateEnumType",
161 "ExcludeConstraint",
162 "Range",
163 "aggregate_order_by",
164 "array_agg",
165 "insert",
166 "Insert",
167)