

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# 使用 ODBC 驱动程序管理器配置驱动程序
<a name="odbc-driver-configure-linux"></a>

在 Linux 操作系统上，您可以使用 ODBC 驱动程序管理器来配置 ODBC 连接设置。ODBC 驱动程序管理器使用配置文件来定义和配置 ODBC 数据来源和驱动程序。您可以使用的 ODBC 驱动程序管理器取决于您使用的操作系统。对于 Linux，则是 unixODBC 驱动程序管理器。

有关用来配置 Amazon Redshift ODBC 驱动程序的受支持的 ODBC 驱动程序管理器的更多信息，请参阅 [在 Linux 上使用 Amazon Redshift ODBC 驱动程序在 Linux 上使用 ODBC 驱动程序](install-odbc-driver-linux.md)（适用于 Linux 操作系统）。另请参阅 [Amazon Redshift ODBC 连接器安装和配置指南](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf)中的“在非 Windows 计算机上指定 ODBC 驱动程序管理器”。

要配置 Amazon Redshift ODBC 驱动程序，需要提供以下三个文件：`amazon.redshiftodbc.ini`、`odbc.ini` 和 `odbcinst.ini`。

如果您将驱动程序安装在默认位置，`amazon.redshiftodbc.ini` 配置文件则位于以下目录之一：
+ `/opt/amazon/redshiftodbc/lib/64`（适用于 Linux 操作系统上的 64 位驱动程序）
+ `/opt/amazon/redshiftodbc/lib/32`（适用于 Linux 操作系统上的 32 位驱动程序）

此外，在 Linux 上的 `/opt/amazon/redshiftodbc/Setup` 下，还有示例 `odbc.ini` 和 `odbcinst.ini` 文件。您可以使用这些文件作为配置 Amazon Redshift ODBC 驱动程序和数据来源名称 (DSN) 的示例。

我们不建议使用 Amazon Redshift ODBC 驱动程序安装目录来存储配置文件。`Setup` 目录中的示例文件仅用作示例。如果您日后重新安装 Amazon Redshift ODBC 驱动程序，或将其升级到新版本，安装目录会被覆盖。之后，您将丢失对这些文件所做的全部更改。

为了避免出现这种情况，请将 `amazon.redshiftodbc.ini` 文件复制到安装目录以外的其他目录中。如果您要将此文件复制到用户的主目录，请在文件名的开头添加一个句点 (.)，使其成为隐藏文件。

对于 `odbc.ini` 和 `odbcinst.ini` 文件，应在用户的主目录中使用配置文件，或者在其他目录中创建新版本。默认情况下，您的 Linux 操作系统应在用户的主目录（`/home/$USER` 或 `~/`）中包含 `odbc.ini` 文件和 `odbcinst.ini` 文件。这些默认文件均为隐藏文件（通过在每个文件名的前面添加圆点 (.) 表示）。这些文件仅当您使用 `-a` 标志列出目录内容时显示。

对于 `odbc.ini` 和 `odbcinst.ini` 文件，不管您选择哪个选项，都需对这些文件进行修改，以添加驱动程序和 DSN 配置信息。如果您创建新文件，则还需设置环境变量，以指定这些配置文件的目标存储位置。

默认情况下，ODBC 驱动程序管理器将配置为使用主目录中隐藏的 `odbc.ini` 和 `odbcinst.ini` 配置文件版本（名为 .`odbc.ini` 和 .`odbcinst.ini`）。它们也被配置为使用驱动程序安装目录的 `amazon.redshiftodbc.ini` 子文件夹中的 `/lib` 文件。如果您将这些配置文件存储在其他位置，请设置如下所述的环境变量，以便驱动程序管理器能够找到这些文件。有关更多信息，请参阅 [Amazon Redshift ODBC 连接器安装和配置指南](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf)中的“指定驱动程序配置文件的位置”。 

## 在 Linux 操作系统上创建数据来源名称
<a name="configure-odbc-ini-file"></a>

 在使用数据源名称 (DSN) 连接到数据存储时，请配置 `odbc.ini` 文件以定义 DSN。在 `odbc.ini` 文件中设置属性以创建指定数据存储的连接信息的 DSN。

有关如何配置 `odbc.ini` 文件的信息，请参阅 [Amazon Redshift ODBC 连接器安装和配置指南](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf)中的“在非 Windows 计算机上创建数据源名称” 

 请在 Linux 操作系统上使用以下格式。

```
[ODBC Data Sources]
driver_name=dsn_name

[dsn_name]
Driver=path/driver_file

Host=cluster_endpoint
Port=port_number
Database=database_name
locale=locale
```

以下示例显示了在 Linux 操作系统上使用 64 位 ODBC 驱动程序配置 odbc.ini。

```
[ODBC Data Sources]
Amazon_Redshift_x64=Amazon Redshift (x64)

[Amazon Redshift (x64)]
Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so
Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com
Port=5932
Database=dev
locale=en-US
```

以下示例显示了在 Linux 操作系统上使用 32 位 ODBC 驱动程序配置 odbc.ini。

```
[ODBC Data Sources]
Amazon_Redshift_x32=Amazon Redshift (x86)

[Amazon Redshift (x86)]
Driver=/opt/amazon/redshiftodbc/lib/32/libamazonredshiftodbc32.so
Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com
Port=5932
Database=dev
locale=en-US
```

## 在 Linux 操作系统上配置没有 DSN 的连接
<a name="configure-odbcinst-ini-file"></a>

要通过不带 DSN 的连接来连接到数据存储，请在 `odbcinst.ini` 文件中定义驱动程序。然后，在应用程序中提供一个无 DSN 的连接字符串。

有关在这种情况下如何配置 `odbcinst.ini` 文件的信息，请参阅 [Amazon Redshift ODBC 连接器安装和配置指南](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf)中的“在非 Windows 计算机上配置没有 DSN 的连接”。 

请在 Linux 操作系统上使用以下格式。

```
[ODBC Drivers]
driver_name=Installed
...
                            
[driver_name]
Description=driver_description
Driver=path/driver_file
    
...
```

以下示例显示了安装在 Linux 操作系统默认目录中的 64 位驱动程序的 `odbcinst.ini` 配置。

```
[ODBC Drivers]
Amazon Redshift (x64)=Installed

[Amazon Redshift (x64)]
Description=Amazon Redshift ODBC Driver (64-bit)
Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so
```

以下示例显示了安装在 Linux 操作系统默认目录中的 32 位驱动程序的 `odbcinst.ini` 配置。

```
[ODBC Drivers]
Amazon Redshift (x86)=Installed

[Amazon Redshift (x86)]
Description=Amazon Redshift ODBC Driver (32-bit)
Driver=/opt/amazon/redshiftodbc/lib/32/libamazonredshiftodbc32.so
```

## 配置环境变量
<a name="rs-mgmt-config-global-env-variables"></a>

使用正确的 ODBC 驱动程序管理器加载正确的驱动程序。为此，请设置库路径环境变量。有关更多信息，请参阅 [Amazon Redshift ODBC 连接器安装和配置指南](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf)中的“在非 Windows 计算机上指定 ODBC 驱动程序管理器”。

默认情况下，ODBC 驱动程序管理器将配置为使用主目录中隐藏的 `odbc.ini` 和 `odbcinst.ini` 配置文件版本（名为 .`odbc.ini` 和 .`odbcinst.ini`）。它们也被配置为使用驱动程序安装目录的 `/lib` 子文件夹中的 `amazon.redshiftodbc.ini` 文件。如果您将这些配置文件存储在其他位置，请设置环境变量，以便驱动程序管理器能够找到这些文件。有关更多信息，请参阅《Amazon Redshift ODBC 连接器安装和配置指南**中的“指定驱动程序配置文件的位置”。

## 配置连接功能
<a name="connection-config-features"></a>

可以为 ODBC 设置配置以下连接功能：
+ 配置 ODBC 驱动程序以提供凭证并验证与 Amazon Redshift 数据库的连接。
+ 如果要连接到启用了 SSL 的 Amazon Redshift 服务器，请将 ODBC 驱动程序配置为连接到启用了安全套接字层 (SSL) 的套接字。
+ 将 ODBC 驱动程序配置为通过代理服务器连接到 Amazon Redshift。
+ 将 ODBC 驱动程序配置为使用查询处理模式来防止查询占用过多内存。
+ 将 ODBC 驱动程序配置为通过代理服务器传递 IAM 身份验证过程。
+ 将 ODBC 驱动程序配置为使用 TCP Keepalive 来防止连接超时。

有关这些连接功能的信息，请参阅 [Amazon Redshift ODBC 连接器安装和配置指南](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf)。