sqlalchemy的Amazon Redshift方言
项目描述
Amazon Redshift方言为SQLAlchemy。
安装
该软件包可在PyPI上获得
pip install sqlalchemy-redshift
用法
DSN格式与常规Postgres类似
>>> import sqlalchemy as sa >>> sa.create_engine('redshift+psycopg2://username@host.amazonaws.com:5439/database') Engine(redshift+psycopg2://username@host.amazonaws.com:5439/database)
有关该方言支持的Redshift特定功能的详细信息,请参阅RedshiftDDLCompiler文档。
运行测试
测试是通过tox运行的,可以使用以下命令运行:
$ tox
但是,除非以下环境变量已设置,否则此命令不会运行集成测试:
REDSHIFT_HOST
REDSHIFT_PORT
REDSHIFT_USERNAME
PGPASSWORD(这是redshift实例密码)
REDSHIFT_DATABASE
REDSHIFT_IAM_ROLE_ARN
请注意,指定的IAM角色需要与redshift集群关联,并且具有创建和删除数据库以及表的正确权限。在shell中导出这些环境变量并运行tox将运行针对真实redshift实例的集成测试。在针对生产实例运行这些测试时要谨慎。
持续集成(CI)
项目CI使用AWS CodePipeline和CloudFormation构建。请参阅ci/文件夹和包含的README.txt,了解启动项目CI的详细信息。
发布
要执行发布,您必须是GitHub和PyPI上的项目管理员。如果您需要该访问权限,请联系维护者。
您需要有一个包含您的PyPI凭证的~/.pypirc,以及以下设置:
[zest.releaser] create-wheels = yes
要执行发布,请运行以下命令:
python -m venv ~/.virtualenvs/dist workon dist pip install -U pip setuptools wheel pip install -U tox zest.releaser fullrelease # follow prompts, use semver ish with versions.
发布器将处理更新包和CHANGES.rst中的版本数据,以及对代码库进行标记并上传到PyPI。
0.8.14 (2023-04-07)
0.8.13 (2023-03-28)
添加spectrum支持(Pull #263)
停止支持Python 3.5
0.8.12 (2022-12-08)
修复SQLAlchemy的“supports_statement_cache”(Pull #259)
0.8.11 (2022-07-27)
禁用redshift_connector方言语句缓存(Pull #257)
0.8.10 (2022-07-21)
0.8.9 (2021-12-15)
支持检查Redshift数据类型(Pull #242)
0.8.8 (2021-11-03)
0.8.7 (2021-10-27)
初始支持SQLAlchemy 2.0.x(Pull #237)
0.8.6 (2021-09-22)
0.8.5 (2021-08-23)
0.8.4 (2021-07-15)
通过按架构而不是整个数据库获取/缓存元数据来提高反射性能(Pull #223)
0.8.3 (2021-07-07)
SQLAlchemy 1.4.x 支持 (Pull #221)
0.8.2 (2021-01-08)
允许在 COPY 和 UNLOAD 命令中提供多个角色 ARN。这允许第一个角色假定其他角色,具体说明请见 此处。
0.8.1 (2020-07-15)
支持 AWS 分区用于 COPY 和 UNLOAD 命令中的基于角色的访问控制。这使得这些命令可以在例如 GovCloud 中使用。
0.8.0 (2020-06-30)
0.7.9 (2020-05-29)
支持 SQLAlchemy 1.3.11+ 的修复 (Issue #195)
0.7.8 (2020-05-27)
添加对物化视图的支持 (Issue #202)
修复唯一约束的反射 (Issue #199)
支持在 Alembic 迁移中更改列注释 (Issue #191)
0.7.7 (2020-02-02)
为 Python 3.9 兼容性从 collections.abc 导入 Iterable (Issue #189)
在 UNLOAD 命令中添加对 Parquet 格式的支持 (Issue #187)
0.7.6 (2020-01-17)
修复 SQLAlchemy >= 1.3.11 中 sortkey 反射的不可哈希类型错误 (Issue #180)
公开从方言导入时支持的类型 (Issue #181)
反射列注释 (Issue #186)
0.7.5 (2019-10-09)
将 psycopg2 包的版本检查扩展到也支持 psycopg2-binary 和 psycopg2cffi (Issue #178)
0.7.4 (2019-10-08)
删除对 psycopg2 的硬依赖,但要求在运行时存在该包 (Issue #165)
从 info 切换到关键字参数在列上用于 SQLAlchemy >= 1.3.0 (Issue #161)
为 redshift 晚绑定视图添加对列信息的支持 (Issue #159)
添加对 UNLOAD 中的 MAXFILESIZE 参数的支持 (Issue #123)
添加对 CREATE LIBRARY 命令的支持。(Issue #124)
添加对 ALTER TABLE APPEND 命令的支持。(Issue #162)
为 UnloadFromSelect 添加对 CSV 格式的支持 (Issue #169)
更新保留词列表(添加“az64”和“language”)(Issue #176)
0.7.3 (2019-01-16)
添加对 COPY 和 UNLOAD 命令中的 REGION 参数的支持。(Issue #90)
0.7.2 (2018-12-11)
更新测试以适应 Redshift 和 SQLAlchemy 的变化 (Issue #140)
为 UnloadFromSelect 命令添加 header 选项 (Issue #156)
在 COPY 命令中添加对 Parquet 和 ORC 文件格式的支持 (Issue #151)
增加对Python 3.7的官方支持(《问题 #153)
通过直接使用系统表,避免在表元数据检索中操作搜索路径(《问题 #147)
0.7.1 (2018-01-17)
修复与SQLAlchemy 1.2.0+不兼容的反射代码(《问题 #138)
0.7.0 (2017-10-03)
不对外部模式中的< cite>search_path进行枚举(《问题 #120)
从get_pk_constraint和get_foreign_keys返回约束名称
使用枚举类型表示格式、压缩和编码。弃用这些参数类型的字符串参数(《问题 #133)
使用过渡ACM证书束更新包含的证书(《问题 #130)
0.6.0 (2017-05-04)
支持COPY和UNLOAD命令中的基于角色的访问控制(《问题 #88)
将最大标识符长度增加到127个字符(《问题 #96)
修复包含点号的表名在反射时引发错误的bug(《问题 #97)
通过缓存表约束信息提高反射性能(《问题 #101)
在COPY命令中支持BZIP2压缩(《问题 #110)
允许测试容忍Redshift中的新默认列编码(《问题 #114)
从Redshift文档中引入一组保留词(《问题 #94)
0.5.0 (2016-04-21)
支持将具有外键的表反射到非公共模式中的表(《问题 #70)
修复了在包含空格或逗号的列名上无法使用DISTKEY和SORTKEY的bug。这是对于像< cite>__table_args__ = {‘redshift_sortkey’: (‘foo, bar’)}这样的命令的破坏性行为变更。之前,它会按照< cite>foo和< cite>bar命名的列排序。现在,它按< cite>foo, bar命名的列排序。(《问题 #74)
0.4.0 (2015-11-17)
将包名更改为< cite>sqlalchemy_redshift,以匹配其他方言的命名约定;现在< cite>redshift_sqlalchemy包会发出< cite>DeprecationWarning并引用< cite>sqlalchemy_redshift。兼容包< cite>redshift_sqlalchemy将在未来的版本中删除。(《问题 #58)
修复了反射表可能对于某些< cite>CREATE TABLE语句具有不正确列顺序的bug,特别是对于具有< cite>IDENTITY约束的列。(《问题 #60)
修复了在表的模式不在当前< cite>search_path中时,反射表可能引发< span class="docutils literal">NoSuchTableError的bug。(《问题 #64)
将python 3.5添加到集成测试的版本列表中。(《问题 #61)
0.3.1 (2015-10-08)
修复了0.3.0版本中引入的CopyCommand中断:(感谢solackerman)。(《问题 #53)
当省略< cite>format时,查询中不附加< cite>FORMAT AS …。这使得默认值与正常redshift查询相同。
修复STATUPDATE作为COPY参数的bug
0.3.0 (2015-09-29)
0.2.0 (2015-09-04)
默认使用 SSL,并使用硬编码的 AWS Redshift CA。 (问题 #20)
重构 CopyCommand,包括对指定格式和压缩类型的支持。(问题 #21)
显式要求 SQLAlchemy >= 0.9.2 以使用 'dialect_options'。(问题 #13)
重构 UnloadFromSelect,包括对指定所有文档化 Redshift 选项的支持。(问题 #27)
修复了在 Python 2 上使用 SORTKEY 的 Unicode 问题。(问题 #34)
添加了对 Redshift DELETE 语句的支持,这些语句在 WHERE 子句中引用其他表。感谢 haleemur。 (问题 #35)
在尝试反射一个不存在的表时引发 NoSuchTableError。(问题 #38)
0.1.2 (2015-08-11)
0.1.1 (2015-05-20)
将 RedshiftImpl 注册为 alembic 的第三方方言。
0.1.0 (2015-05-11)
第一个可以从 PyPI 安装的 sqlalchemy-redshift 版本
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分布
构建分布
sqlalchemy-redshift-0.8.14.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1f1f78d8ef7febaf0553d64fe247fc08acbfec84d8e1d2dc8264c656cc623622 |
|
MD5 | ffc20a2b272e9143181ec8e9de639c3d |
|
BLAKE2b-256 | fade4464eebd4d2b3c5bf599af02b385b61bfc50d1c9494b58b705b8dafd50ca |
sqlalchemy_redshift-0.8.14-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cfdfae2c8fb3043c181e2baedd4ee425c1ca7efed20f3c5ae274838d1015f919 |
|
MD5 | a4f76cc01bf0e499e7822e1c51274303 |
|
BLAKE2b-256 | 178b2c7201607a9a5d997ace6ca907d1dea9271fd399560b082d3432a72046af |