8 访问数据库

9        访问数据库

本章主要介绍可用于连接到Greenplum的数据库,以及如何建立一个数据库会话的各种客户端工具。

8.1       建立一个数据库会话

用户可使用PostgreSQL的兼容的客户端程序,比如psql的连接到Greenplum数据库。用户和管理员始终连接到通过主节点来连接到Greenplum数据库;段无法接受的客户端连接。

为了建立与Greenplum的数据库主节点的连接,你需要知道以下连接信息,并相应地配置您的客户端程序。

 

Table 6: Connection Parameters

Connection Parameter

Description

Environment Variable

Application name

是连接到数据库的应用程序名称。默认值,在应用程序名称连接参数举行的PSQL

$PGAPPNAME

Database name

你要连接的数据库的名称。对于一个新初始化系统,请使用模板数据库连接的第一次。

$PGDATABASE

Host name

Greenplum数据库的主节点,默认的主机是localhost

$PGHOST

Port

该数据库Greenplum的主实例上运行的端口号。默认值是5432。

$PGPORT

User name

数据库用户(角色)的名称进行联接。这不一定是操作系统的用户名。如果你不知道你的数据库的用户名是什么,请联系您的Greenplum管理员。需要注意的是每一个Greenplum数据系统中有一个在初始化时自动创建了一个超级用户帐户。该帐户具有相同的名称谁初始化Greenplum的系统(通常gpadmin)的用户的操作系统名称。

$PGUSER

Connecting with psql provides example commands for connecting to Greenplum Database.

8.2       Supported Client Applications

用户可以使用各种客户端应用程序连接到Greenplum数据库:

•      当你安装Greenplum数据库时,已提供很多数据库连接工具。该PSQL客户端应用程序提供了一个交互式的命令行界面Greenplum数据。

•      pgAdmin III. 从1.10.0版本,可以用pgAdmin III来连接GPDB和Postgresql。具体可以从官网下载 pgAdmindownload site .

•      使用标准的数据库应用程序接口,如ODBC和JDBC,用户可以创建自己的客户端应用程序接口Greenplum数据。因为Greenplum数据引擎是基于PostgreSQL的,它采用标准的PostgreSQL数据库驱动程序。

•      使用标准的数据库接口,如ODBC和JDBC大多数第三方客户端工具,可以配置为连接到Greenplum数据。


 

8.3       Greenplum Database ClientApplications

reenplum的数据库自带安装了一些位于您的Greenplum数据主控主机安装的$GPHOME/bin目录中的客户端实用应用程序。下面是最常用的客户实用程序的应用:

Table 7: Commonly used client applications

Name

Usage

createdb

创建新的数据库

createlang

define a new procedural language

createuser

定义一个新的数据库角色

dropdb

删除数据库

droplang

删除过程语言

dropuser

删除角色

psql

PostgreSQL interactive terminal

reindexdb

reindex a database

vacuumdb

garbage-collect and analyze a database

当使用这些客户端应用程序,您必须连接到通过Greenplum的主实例数据库。你需要知道你的目标数据库,主机名和主端口号的名称,并作为连接哪个数据库的用户名。可以在命令行选项中进行设置,分别是-d,-h,-p和-U。如果一个参数被发现不属于任何选项,将首先解释成数据库名。

所有这些选项有如果未指定选项,这将使用默认值。缺省主机是本地主机。默认的端口号为5432的默认用户名是你的OS系统的用户名,因为是默认的数据库名称。注意,操作系统的用户名和Greenplum数据的用户名不必是相同的。

如果默认值不正确,可以将环境变量PGDATABASE,PGHOST,PGPORT和PGUSER设置为适当的值,或使用PSQL ~/.pgpass文件包含常用的密码。

有关Greenplum的数据库环境变量的信息,请参阅Greenplum数据参考指南。有关PSQL信息,请参阅Greenplum的数据库实用程序指南。

8.4       Connecting with psql

根据所使用的默认值,或者您已设置环境变量,下面的例子说明如何通过PSQL访问数据库:

$ psql -d gpdatabase -h master_host -p 5432 -Ugpadmin

$ psql gpdatabase $ psql

如果用户定义的数据库还未被创建的,则可以通过连接到template1数据库访问系统。 例如:

$ psql template1

连接到数据库后,psql提供一个提示以向其中的psql当前连接的数据库的名称,后面跟着字符串 => (or =# 管理员). 例如:

gpdatabase=>

在提示符下,您可以键入SQL命令。 SQL命令必须以结束; (分号),以便被发送到服务器,并执行。 例如:

=> SELECT * FROM mytable;

参看Greenplum的参考指南有关使用PSQL客户端应用程序和SQL命令和语法的信息。

 

 

8.5       pgAdmin III for GreenplumDatabase

如果你喜欢图形界面,可以使用pgAdmin III。这个图形客户端支持所有的标准的pgAdmin III功能PostgreSQL数据库,同时加入特定的Greenplum的功能支持。

pgAdmin III对Greenplum数据引擎支持以下具体Greenplum的特性:

•               外部表(External tables)

•               追加优化表(Append-optimized tables),包括压缩追加优化表 including compressed append-optimized tables

•               表分区Table partitioning

•               资源队列Resource queues

•               图形化的explain analyze Graphical explain analyze

•               GPSever的参数配置Greenplumserver configuration parameters

Figure 5: Greenplum Options in pgAdmin III

8.5.1    安装针对GPDB的pgAdminIII

安装包可以从pgAdminlll的官方网站(http://www.pgadmin.org)下载。安装包中包含安装说明。其实和普通的Windows安装文件一样,就是诸多的Next和选 择安装位置等。

8.5.2    针对GPDB的pgAdminlll文档

普通的帮助信息可以在Help>Help contents菜单中查看。

关于GP方面的SQL帮助,可以点击Help>Greenplum Database Help菜单查看,在联网状态下,将会自动跳转到Greenplum SQL参考文档另外还可以安装 GP客户端工具包,其包含了 pgAdminIII连接的参考文档。 使用pgAdminIII执行管理操作。

8.5.3    Performing Administrative Taskswith pgAdmin III

该节介绍诸多GPDB管理操作中的两个重要部分:编辑服务器配置,图形化查看查询计划。

8.5.3.1   编辑服务器配置

pgAdminIII提供了两种修改Server配置文件postgresql.conf的方式:本地,通过File菜单,远程,通过Tools菜单。修改远程参数的方便之处在于不需要将postgresql.conf文件再上传到Server端。

8.5.3.2   远程编辑服务器配置

1.    连接到需要修改的Server。如果你连接了多个Sever,需要确认在左侧对象浏览区高亮的server是你确实需要修改的。

2.    选择 Tools>Server Configuration>postgresql.conf菜单。配置信息将会以列表的形式打开。

3.    双击需要修改的参数打开一个参数设置对话框。

4.    输入新的参数值或者[选择/取消]Enable。修改好之后点击OK按钮。

5.    如果修改的参数可以通过重新加载配置的方式生效,点击绿色的重载 按钮即可。有些参数修改是需要GP完全重新启动才生效。

8.5.3.3   图形化查看查询计划

使用pgAdminIII工具,可以通过执行EXPLAIN命令查看查询计划。输出内 容包括GP的分布式查询处理如计划分割和Instance之间数据移动。还可以 查看图形化的查询计划。

1.  在正确的数据库连接下,选择Tools>Query Tools。

2.                        使用SQL编辑器输入查询语句,还可以通过图形化对象编辑器或者打 开一个SQL文件的方式。

3.                   选择Query >Explain Option确认下面的选项:

•                      Verbose-如果想查看图形化的查询计划,需要取消该选项

•                      Analyze-如果你想在查看查询计划时就直接执行查询语句的话可以选择该选项

       点击查询面板上端的查询计划按钮,或者选择Query>Explain。 查询计划在屏幕的底部展现。比如:


Figure 6: Graphical Query Plan in pgAdmin III

 

 

8.6       Using the PgBouncer ConnectionPooler(重要)

该PgBouncer程序管理连接池的PostgreSQL和Greenplum的数据库连接。

在Greenplum数据引擎安装包括PgBouncer连接池软件。下面的主题介绍了如何设置和使用PgBouncer与Greenplum数据引擎。见PgBouncer网站了解有关使用PgBouncer PostgreSQL的信息。

•               Overview

•               Configuring and Starting PgBouncer

•               Managing PgBouncer

•               Setting up LDAP Authentication with PgBouncer

•               Securing PgBouncer Connections with stunnel

Also, see reference information for PgBouncer inthe GreenplumDatabase Utility Guide.

8.6.1    概要

数据库连接池是数据库连接的缓存。一旦连接池的建立,连接池消除了创建数据库连接的开销,所以客户端连接速度更快,服务器的负载降低。

来自PostgreSQL社区的PgBouncer的连接池也支撑Greeenplum。 PgBouncer可以管理多个数据库连接池,数据库可能在不同的Greenplum数据库集群或PostgreSQL后端。 PgBouncer为每个数据库用户和数据库组合创建了一个缓冲池。一个缓冲池只能用户同一个数据库和用户的另外一个数据库连接请求。

客户端应用程序无需任何软件上的更改,但连接是连到了这个缓冲池的主机和端口,而不是Greenplum的数据库主主机和端口。 PgBouncer无论是创建一个新的数据库连接或重用现有的连接。当客户端断开,连接返回到池中重新使用。

PgBouncer支持标准的连接接口,PostgreSQL和Greenplum的数据库共享。客户端请求的数据库连接提供主机名和PgBouncer运行端口,以及数据库名,用户名和密码。 PgBouncer寻找请求数据库(其可以是用于实际数据库的别名)在它的配置文件以查找的主机名,端口和用于数据库连接的数据库的名称。配置文件条目还确定如何向用户和什么数据库角色将被用于连接一个“强迫用户”可以覆盖设置有客户端的连接请求的用户名进行验证。

PgBouncer需要验证文件,它包含用户和密码的列表的文本文件。

密码可以是明文,MD5编码,或LDAP / AD查询字符串。您还可以设置PgBouncer来查询不在认证文件用户的目标数据库。

PgBouncer支持如下三种模式之一的连接:

PgBouncer shares connections in one of three poolmodes:

•      会话池 - 当客户端连接,连接的,只要它保持连接分配给它。当客户端断开,连接放回池中。

•      事务池 - 连接分配给客户端进行交易的持续时间。在PgBouncer注意到该交易完成后,连接放回池中。这个模式只能与不使用取决于会话功能的应用程序被使用。

•      语句池 - 语句池就像是交易池,但多语句事务是不允许的。这种模式是为了强制客户端自动提交模式,是针对PL /代理服务器上的PostgreSQL。

默认池模式可以为PgBouncer实例设置和模式可以覆盖各个数据库和用户。

通过连接到虚拟pgbouncer数据库中,可以监视和SQL-使用像命令来管理PgBouncer。配置参数可以在无需重启PgBouncer被改变,和配置文件可以被重新加载到拾取变化。

PgBouncer还不支持SSL连接。如果要加密客户端和PgBouncer之间的流量,你可以使用安全通道,创建使用的OpenSSL加密库TLS加密隧道一个免费的软件工具。

SeeSecuring PgBouncerConnections with tunnel fordirections.

8.6.2    配置并开始PgBouncer

PgBouncer可以在Greenplum数据引擎主机或另一台服务器上运行。如果你在单独的服务器上安装PgBouncer,你可以很容易地通过客户端更新PgBouncer配置文件并重新加载使用PgBouncer管理控制台配置切换到备用主。

按照以下步骤设置PgBouncer。

1.          创建一个PgBouncer配置文件,例如pgbouncer.ini。下面是一个简单的配置文件:

[databases]

templatel = host=127.0.0.1 port=5432 dbname=template1mydb = host=127.0.0.1 port=5432 dbname=mydb

[pgbouncer]

pool_mode = session

listen_port = 6543

listen_addr = 127.0.0.1

auth_type = md5

auth_file = users.txt

logfile = pgbouncer.log

pidfile = pgbouncer.pid

admin_users = gpadmin

该文件是在.ini文件格式,并有三个部分:数据库,pgbouncer和用户。数据库部分列出其连接的详细信息的数据库。在pgbouncer部分配置PgBouncer实例。

2.  创建一个认证文件。该文件的名称必须在本实施例中的pgbouncer.ini文件auth_file参数,users.txt匹配。各行包含一个用户名和密码。密码字符串的格式的PgBouncer配置文件中的AUTH_TYPE参数相匹配。如果AUTH_TYPE参数是平原,密码字符串是明文密码,例如:

"gpadmin" "gpadmin1234"

在下面的例子中AUTH_TYPE是MD5,所以认证字段必须为MD5编码。一个MD5编码的密码的格式为:

"md5" + MD5{<password><username>)

您可以使用Linux md5sum命令来计算MD5字符串。例如,如果gpadmin密码admin1234以下命令打印的密码字段中的字符串:

$ user=gpadmin; passw=admin1234; echo -n md5; echo $passwd$user | md5sum

md53ce96652dedd8226c498e09ae2d26220

 

这里是在PgBouncer认证文件管理用户的MD5编码的条目:

"gpadmin""md53ce96652dedd8226c498e09ae2d26220"

要验证针对LDAP或Active Directory服务器的用户,密码字段包含一个LDAP查询字符串。 例如:

"gpdbuserl""ldap://10.0.0.11:10389/uid=gpdbuser1,ou=users,ou=system"

对于Active Directory,用户条目看起来像这样的例子:

"gpdbuser2" "ldap://10.0.0.12:389/gpdbuser2"

看到PgBouncer设置LDAP身份验证的步骤配置PgBouncer与LDAP服务器对用户进行认证。

有关认证文件的详细信息,请参阅Greenplum的数据库实用程序指南PgBouncer参照的“身份验证文件格式”一节。.

3.          启动 pgbouncer:

$ $GPHOME/bin/pgbouncer -d pgbouncer.ini

The -d or --daemon option runs PgBouncer as abackground process. See the PgBouncer reference in the Greenplum Database Utility Guide for the pgbouncer command syntax and its options.

4.          更新客户端应用程序直接连接到pgbouncer,而不是到Greenplum的数据库服务器。

To start psql, 例如:

$ psql -p 6543 -U someusertemplate1

8.6.3    Server Reset Query

当一个连接被返回到池中,它必须复位到一个新创建的连接的状态。 PgBouncer通过返回到池中的连接之前发出的查询实现这一目的。 PostgreSQL 8.3版本及更高版本丢弃为此ALL命令,这是标准PgBouncer分配默认的复位查询。Greenplum的数据库不支持放弃所有,如果用它记录错误。

复位查询可以通过设置PgBouncer配置文件中的server_reset_query参数指定。对于会话池模式的Greenplum数据库PgBouncer的server_reset_query参数可以设置为这个查询:

重置全部; SET SESSION AUTHORIZATION DEFAULT

这是pgbouncer,而修改后的版本默认的服务器复位查询包括Greenplum数据4.7.0及更高版本。尽管默认从PgBouncer不同,它有助于确保连接池是透明的Greenplum数据用户和客户端应用不必被修改为使用连接池。

有关server_reset_query参数和PgBouncer配置文件的详细信息,请参阅Greenplum的数据库实用程序指南PgBouncer参考。

8.6.4    Managing PgBouncer

PgBouncer具有管理控制台,其由登录到pgbouncer虚拟数据库访问。控制台接受类似于SQL的命令,使您监控,重新配置和管理PgBouncer。

按照以下步骤开始使用PgBouncer管理控制台。

Follow these steps to get started with thePgBouncer administrative console.

1.              用psql登录到pgbouncer虚拟数据库:

$ psql -p 6543 -U usernamepgbouncer

用户名必须在pgbouncer.ini配置文件中的管理员用户参数进行设置。您也可以与当前Unix的用户名,如果pgbouncer过程中与该用户的UID运行登录

2.              要查看可用的命令,运行show help命令:

 

pgbouncer=# show help;

DETAIL:

SHOWHELP|CONFIG|DATABASES|POOLS|CLIENTS|SERVERS|VERSION

SHOW STATS|FDS|SOCKETS|ACTIVE_SOCKETS|LISTS|MEM

SHOW DNS_HOSTS|DNS_ZONES

SET key = arg

RELOAD

PAUSE [<db>]

RESUME [<db>]

DISABLE <db>

ENABLE <db>

KILL <db>

SUSPEND

SHUTDOWN

 

3.              如果你更改了pgbouncer.ini, 你可以使用reload 命令来重新加载:

pgbouncer=# RELOAD;

 

将客户端映射到服务器的连接,使用客户展示和SHOW SERVERS访问量:

1.使用PTR,并链接到映射本地客户端连接到服务器的连接。

2.使用addr和客户端连接的端口,以确定来自客户机的TCP连接。

3.使用LOCAL_ADDR和LOCAL_PORT识别TCP连接到服务器。

对于所有的管理控制台命令的完整文档,请参见Greenplum数据手册中的PgBouncer参考的“PgBouncer管理控制台命令”一节。

To map clients to server connections, use the show clients and show serversviews:

1.     Use ptr and link to map the local client connectionto the server connection.

2.     Use addr and port of the client connection toidentify the TCP connection from the client.

3.     Use local_addr and local_port to identify the TCPconnection to the server.

For complete documentation for all of theadministration console commands, see the "PgBouncer Administration ConsoleCommands" section of the PgBouncer reference in the Greenplum Database Guide.

8.6.5    升级 PgBouncer

你可以在不中断现有连接的基础上升级PgBouncer。直接使用–R参数和同样的配置来启用新的PgBouncer进程。

$ pgbouncer-d-R config.ini中

该-R(重新启动)选项导致新的过程中,通过一个Unix套接字连接到旧进程的控制台并发出以下命令:

SUSPEND;

SHOW FDS;

SHUTDOWN;

当新的进程发现旧进程已经完成,就继续使用旧的连接来继续工作。之所以能这样,是因为SHOW FDS命令发送实际文件描述符到新的过程。如果因某种原因使得这个转换失败了,就kill掉新的进程,旧的进程继续工作。

8.6.6    为PgBouncer设置LDAP 权限认证

您可以使用PgBouncer连接池的时候使用LDAP或Active Directory服务验证Greenplum数据引擎的用户。当你有LDAP身份验证的工作,你可以通过设置安全通道固定PgBouncer客户端连接,如保护PgBouncer连接与安全通道描述。as described inSecuring PgBouncerConnectionswith stunnel.

在开始之前,你必须有一个LDAP或Active Directory服务器和Greenplum的数据库集群。

1.在LDAP / AD服务器,创建Greenplum的数据库用户,例如gpdbuser1和gpdbuser2。

2.在Greenplum数据库中创建相应的用户:

createusergpdbuser1 createuser gpdbuser2

3.将用户添加到Greenplum数据pg_hba.conf文件:

host  all     gpdbuserl 0.0.0.0/0  trust

host  all     gpdbuser2         0.0.0.0/0  trust

 

4.  创建一个包含如下信息的PgBouncer config.ini 文件:

[databases]

* =host=GPDB_host_addr port=GPDB_port

[pgbouncer]

listen_port =6432

listen_addr =0.0.0.0

auth_type = plain

auth_file =users.txt

logfile =pgbouncer.log

pidfile =pgbouncer.pid

ignore_startup_parameters=options

5.  创建users.txt PgBouncer认证文件。第一个字段是用户名,第二个是用户的LDAP或Active Directory查找的字符串。对于OpenLDAP或ApacheDS中,例如,在users.txt用户条目看起来像这样:

"gpdbuser1""ldap://10.0.0.11:10389/uid=gpdbuser1,ou=users,ou=system"

对于Active Directory,一个用户的条目样式如下:

"gpdbuserl""ldap://10.0.0.12:389/gpdbuser1"

6.          Start PgBouncer with the config.ini file youcreated:

$ pgbouncer -d config.ini

 

8.6.7    使用安全通道来加强PgBouncer连接的安全

PgBouncer不具有SSL支持,所以数据库客户端和PgBouncer之间的连接未加密。要加密这些连接,您可以使用 stunne/,一个免费的软件工具。安全通道是使用OpenSSL加密库到TLS加密添加到网络服务的代理。安全通道的较新版本支持PostgreSQL的libpq的协议,所以Greenplum的和PostgreSQL客户端可以使用libpq的SSL支持通过网络安全地连接到设置为PgBouncer代理一个安全通道实例。如果您使用的版本安全通道无libpq的支持,需要建立一个安全通道实例的客户端和PgBouncer主机上都建立在网络安全隧道。

在大多数平台上,可以安装使用系统包管理器安全通道。对于Windows,你可以从https://stunne/.org下载安装程序,如果安装程序不可用,或者你想升级到新的版本,或者你想升级到一个新的OpenSSL版本,你可以可以从下载源码包进行安装。下一节中的步骤可以下载,编译和安装OpenSSL和安全通道。

有关完整的安全通道文档,请访问安全通道文档网站

8.6.8    从源码安装stunnel

stunnel 需要OpenSSL development版本大于1.0. 下面说明如何在Red hat 或Centos下载并构建OpenSSL 和 stunnel。一定要到网站https://stunne/.orghttp://openssl.org 来获取最新版本.

1. 设置prefix环境变量到一个你想安装stunnel的目录,例如/usr/local/stunnel 或 /home/gpadmin/stunnel。如果你要安装stunnel到一个系统目录,则你需要root权限。

export PREFIX=/path/to/install_stunnel

2.    The following commands download, build, and install OpenSSL version 1.0.2c:

wget ftp://ftp.openssl.Org/source/openssl-1.0.2c.tar.gz

tar xzf openssl-1.0.2c.tar.gz

cd openssl-1.0.2c

./Configure linux-x86_64 --prefix=$PREFIX shared no-asm

make

make install_sw

cd ..

3.    Download, build, and install stunnel with the following commands:

wget --no-check-certificate https://www.stunnel.org/downloads/stunnel-5.22.tar.gz

tar xzf stunnel-5.22.tar.gz

cd stunnel-5.22

LDFLAGS="-Wl,-rpath,'"'$$'"ORIGIN/../lib'"

./configure --prefix=$PREFIX --with-ssl=$PREFIX

make

make install

 

8.6.9    为 PgBouncer设置Stunnel

设置一个安全通道实例作为PgBouncer代理。该安全通道实例接受来自数据库客户端自身的端口上的安全连接,解密文发送到PgBouncer实例在同一主机上(或在受保护的本地网络中其他主机上)。 PgBouncer结果,包括从由PgBouncer托管连接数据库的结果,被加密并返回通过网络向客户端。

1.   在运行PgBouncer服务器,创建安全通道的配置文件目录, 例如 /home/gpadmin/stunnel.

2.    创建一个证书和密钥文件以用于认证。您也可以使用现有的证书和密钥,或创建新的对与以下OpenSSL的命令: $openssl req -new -x509 -days 3650 -nodes -out stunnel.pem -keyout stunnel.key

Movethe stunnel.keyand stunnel.pem files into your stunnelconfiguration directory.

3.    创建一个stunnel 配置文件, 例如stunnel.conf,包含如下内容:

 

debug= info

socket= l:TCP_NODELAY=1

socket= r:TCP_NODELAY=1

debug= 7

cert =/PATH/TO/stunnel.pem

key =/PATH/TO/stunnel.key

[pg-server]

client=no

accept= 0.0.0.0:5433 # This is the SSL listening port

connect= PGHOST:PGPORT # This is the PgBouncer listen port

protocol = pgsql

See the stunnel conUguration file referencefor additional configuration options.

4.    Run stunnel on the server:

stunnel /path/to/stunnel-srv.conf

5.    在客户端,通过host和对应的端口连接到stunnel。例如:

psql -h pgbouncer-host -p stunnel-accept-port database-name

8.7       Database Application Interfaces

若需要开发针对GPDB的应用程序,PostgreSQL提供的一些通用的API同样可以 应用在GPDB上。这些驱动包并没有与GPDB—起发布,而是一些独立的 PostgreSQL项目,需要单独下载和安装配置从而连接GPDB。下面这些驱动可以获取::

Table 8: Greenplum Database Interfaces

API

PostgreSQL

Driver

Download Link

ODBC

pgodbc

在GPDB的Connectivity包中有。可以在 EMC下载中心下载。没有EMC的 Powerlink账号等于没用。

JDBC

pgjdbc

在GPDB的Connectivity包中有。可以在 EMC下载中心下载。没有EMC的 Powerlink账号等于没用。

Perl DBI

pgperl

http://gborg.postgresql.org/project/pgperl

Python DBI

pygresql

http://www.pygresql.org

使用通用API来访问GPDB的说明:

1.    下载相应的语言平台和对应的API。比如下载JDK和JDBC。

2.    编写相应的程序连接GPDB。需要注意SQL的语法支持问题。

下载合适的PostgreSQL驱动并配置到GPDB Master Instance的连接。GP提供了 一个客户端包,其包含了支持的GPDB驱动。可以在EMC下载中心下载。没有 EMC的Powerlink账号等于没用。

See the Greenplum DatabaseReference Guide for more information.

Download the appropriate PostgreSQL driver andconfigure connectivity to your Greenplum Database master instance. GreenplumDatabase provides a client tools package that contains the supported databasedrivers for Greenplum Database. Download the client tools package from Pivotal Network and documentation from Pivotal Documentation.

 

 

8.8       第三方客户端工具

很多第三方的ETL和BI工具使用标准的API如ODBC、JDBC,都可以通过配置 连接到GPDB。下面这些工具经过用户证实可以很好的协同GP—同工作:

•  Business Objects

•  Microstrategy

•  Informatica Power Center

•  Microsoft SQL Server Integration Services (SSIS) and Reporting Services (SSRS)

•  Ascential Datastage

•  SAS

•  Cognos

GP专业服务可以协助用户配置他们选定的第三方工具协同GP工作。

Problem

Solution

No pg hba.conf entry for host or user

为了让Greenplum数据引擎接受远程客户端连接,必须使连接从客户端的主机和数据库用户将被连接到Greenplum数据引擎允许配置Greenplum数据主实例。这是通过添加相应的条目到的pg_hba.conf配置文件(位于主实例的数据目录)来完成。有关详细信息,请参阅允许连接到Greenplum数据。

Greenplum Database is not running

如果Greenplum数据引擎主实例关闭,用户将无法进行连接。您可以验证Greenplum的数据库系统是通过运行在Greenplum的主控主机上的gpstate工具。

Network problems

Interconnect

timeouts

如果用户从远程客户端连接到主Greenplum的主机,网络问题可能阻止连接(例如,DNS主机名解析问题,主机系统已关闭,等等)。为了确保网络的问题都没有的原因,连接到从远程客户端主机的Greenplum的主控主机。例如:ping主机名。

 

如果系统无法解析参与Greenplum数据引擎,查询和连接将失败的主机的主机名和IP地址。对于某些操作,对Greenplum的数据库主使用locaihost连接和其他人使用实际的主机名,所以你必须能够解决两者。如果你遇到这样的错误,首先要确保您可以连接到每台主机在Greenplum数据阵列从主主机在网络上。在主站和各阶层的/ etc / hosts文件,请确保您有涉及的Greenplum数据阵列中的所有主机的正确的主机名和IP地址。该127.0.0.1 IP必须解析为本地主机。

Too many clients already

缺省情况下,GPDB设置Master最大连接数是250,Segment为750。超过这个限制的请求会被拒绝。该限制是有postgresql.conf文件中的max_connections参数配置的。若修改Master上的该参数,还必须修改Segment上该参数为合适的值。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
大学生在线租房平台管理系统按照操作主体分为管理员和用户。管理员的功能包括报修管理、报修评价管理、字典管理、房东管理、房屋管理、房屋收藏管理、房屋留言管理、房屋租赁管理、租房论坛管理、公告信息管理、留言板管理、用户管理、管理员管理。用户的功能等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 大学生在线租房平台管理系统可以提高大学生在线租房平台信息管理问题的解决效率,优化大学生在线租房平台信息处理流程,保证大学生在线租房平台信息数据的安全,它是一个非常可靠,非常安全的应用程序。 管理员权限操作的功能包括管理公告,管理大学生在线租房平台信息,包括房屋管理,培训管理,报修管理,薪资管理等,可以管理公告。 房屋管理界面,管理员在房屋管理界面中可以对界面中显示,可以对房屋信息的房屋状态进行查看,可以添加新的房屋信息等。报修管理界面,管理员在报修管理界面中查看报修种类信息,报修描述信息,新增报修信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
基于hal库的OLED显示屏驱动C语言实现源码.zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值