连接参数
连接参数 | 描述 | 环境变量 |
---|---|---|
应用名称 | 连接到数据库的应用名称,保存在application_name连接参数中。默认值是psql。 | $PGAPPNAME |
数据库名 | 用户想要连接的数据库名称。对于一个刚初始化的系统,第一次可使用postgres数据库来连接。 | $PGDATABASE |
主机名 | Greenplum数据库的Master的主机名。默认主机是本地主机。 | $PGHOST |
端口 | Greenplum数据库的Master实例所运行的端口号。默认为5432。 | $PGPORT |
用户名 | 要以其身份连接的数据库用户(角色)名。这不需要和用户的操作系统用户名一样。如果用户不确定用户的数据库用户名是什么,请咨询用户的Greenplum管理员。注意每一个Greenplum数据库系统都有一个在初始化时自动创建的超级用户账号。这个账号的名称和初始化Greenplum系统的用户(最有代表性的是gpadmin)的操作系统用户名相同。 | $PGUSER |
最常用的客户端应用
名称 | 用法 |
---|---|
createdb | 创建一个新数据库 |
createlang | 定义一种新的过程语言 |
createuser | 定义一个新的数据库角色 |
dropdb | 移除一个数据库 |
droplang | 移除一种过程语言 |
dropuser | 移除一个角色 |
psql | PostgreSQL交互式终端 |
reindexdb | 对一个数据库重建索引 |
vacuumdb | 对一个数据库进行垃圾收集和分析 |
Greenplum数据库接口
API | PostgreSQL驱动 | 下载链接 |
---|---|---|
ODBC | psqlODBC | https://odbc.postgresql.org/. |
JDBC | pgjdbc | https://jdbc.postgresql.org/ |
Perl DBI | pgperl | http://search.cpan.org/dist/DBD-Pg/ |
Python DBI | pygresql | http://www.pygresql.org/ |
libpq C Library | libpq | https://www.postgresql.org/docs/8.3/static/libpq.html |
常见连接问题
问题 | 解决方案 |
---|---|
没有用于主机或者用户的pg_hba.conf条目 | 要允许Greenplum数据库接受远程客户端连接,用户必须配置用户的Greenplum数据库的Master实例,这样来自于客户端主机和数据库用户的连接才会被允许连接到Greenplum数据库。这可以通过在pg_hba.conf配置文件(位于Master实例的数据目录中)中增加合适的条目就能做到。更多详细的信息请见允许到Greenplum的连接。 |
Greenplum数据库没有运行 | Greenplum数据库的Master实例没有运行,用户将无法连接。用户可以通过在Greenplum的Master主机上运行gpstate工具来验证Greenplum数据库系统是否正常运行。 |
网络问题
Interconnect 超时 |
如果用户从一个远程客户端连接到Greenplum的Master主机,网络问题可能阻止连接(例如,DNS主机名解析问题、主机系统没有运行等等)。为了确认网络问题不是原因,可尝试从远程客户端主机连接到Greenplum的Master主机。例如: ping hostname .
如果系统不能解析主机名和Greenplum数据库所涉及的主机的IP地址,查询和连接将会失败。对于某些操作,到Greenplum数据库Master的连接会使用localhost而其他连接使用真实的主机名,因此用户必须能解析两者。如果用户遇到这种错误,首先确认用户能够从Master主机通过网络连接到Greenplum数据库阵列中的每一台主机。在Master和所有Segment的/etc/hosts文件中,确认有Greenplum数据库阵列所涉及所有主机的正确的主机名和IP地址。IP 127.0.0.1必须解析为localhost。 |
已有太多客户端 | 默认情况下,Greenplum数据库被配置为在Master和每个Segment上分别允许最多250和750个并发用户连接。导致该限制会被超过的连接尝试将被拒绝。这个限制由Greenplum数据库Master的postgresql.conf配置文件中的max_connections参数控制。如果用户为Master更改了这个设置,用户还必须在Segment上做出适当的更改。 |
Object Privileges
Object Type | Privileges |
---|---|
Tables, Views, Sequences | SELECT
INSERT UPDATE DELETE RULE ALL |
External Tables | SELECT
RULE ALL |
Databases | CONNECT
CREATE TEMPORARY | TEMP ALL |
Functions | EXECUTE |
Procedural Languages | USAGE |
Schemas | CREATE
USAGE ALL |
Custom Protocol | SELECT
INSERT UPDATE DELETE RULE ALL |