当前位置:早雪网网络学院编程文档数据库技术Postgresql → PostgreSQL7.0手册-接口-55. pgtcl - TCL 绑定库

PostgreSQL7.0手册-接口-55. pgtcl - TCL 绑定库

减小字体 增大字体 作者:不详  来源:supcode.com收集整理  发布时间:2005-7-23 12:22:07
第五十五章. pgtcl - TCL 绑定库
内容 
命令 
例子 
pgtcl 命令参考信息 
pgtcl 是一个用于前端和 Postgres 后端交互的 tcl 包.它把大多数 libpq 库的函数/功能做成可用于 tcl 脚本. 
  
这个包最初是 Jolly Chen 写的. 
命令
表 55-1. pgtcl 命令 
   
 
 命令 描述 
pg_connect 打开一个与后端服务器的联接 
pg_disconnect 关闭一个联接 
pg_conndefaults 获取联接选项和其他缺省值 
pg_exec 向后端发送一个查询 
pg_result 操作查询的结果 
pg_select 在一个 SELECT 语句的结果上循环(处理) 
pg_listen 建立一个用于 NOTIFY 消息的回叫 
pg_lo_creat 创建一个大对象 
pg_lo_open 打开一个大对象 
pg_lo_close 关闭一个大对象 
pg_lo_read 读取一个大对象 
pg_lo_write 写一个大对象 
pg_lo_lseek 在一个大对象里搜索一个位置 
pg_lo_tell 返回一个大对象的当前搜索位置 
pg_lo_unlink 删除一个大对象 
pg_lo_import 把一个 Unix 输入到一个大对象里 
pg_lo_export 把一个大对象输出到一个 Unix 文件里 

这些命令在后续的页面里将继续深入描述. 
pg_lo* 过程都是与 Postgres 大对象特性交互的接口.这些函数是仿照标准 Unix 文件系统接口的做法设计的.pg_lo* 过程应该用于一个 BEGIN/END 事务块里头,因为 pg_lo_open 返回的文件描述符只是在当前事务中有效.pg_lo_import 和 pg_lo_export 必须在一个 BEGIN/END 事务块里面使用.


--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

例子
这是一个如何使用这些过程的一个小例子: 
# getDBs :
#   get the names of all the databases at a given host and port number
#   with the defaults being the localhost and port 5432
#   return them in alphabetical order
proc getDBs { {host "localhost"} {port "5432"} } {
    # datnames is the list to be result
    set conn [pg_connect template1 -host $host -port $port]
    set res [pg_exec $conn "SELECT datname FROM pg_database ORDER BY datname"]
    set ntups [pg_result $res -numTuples]
    for {set i 0} {$i < $ntups} {incr i} {
        lappend datnames [pg_result $res -getTuple $i]
    }
    pg_result $res -clear
    pg_disconnect $conn
    return $datnames
}

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

pgtcl 命令参考信息

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

pg_connect
名称
pg_connect — 打开一个到后端服务器的联接 

语法
pg_connect -conninfo connectOptions
pg_connect dbName [-host hostName]
  [-port portNumber] [-tty pqtty]
  [-options optionalBackendArgs]
输入 (新风格)
connectOptions 
一个联接选项字符串,每个(选项)都以形式 keyword = value 书写. 

输入 (旧风格)
dbName 
声明一个有效数据库名. 
[-host hostName] 
声明数据库 dbName 所在后端服务器的名称. 
[-port portNumber] 
声明数据库 dbName 所在后端服务器的 IP 端口号. 
[-tty pqtty] 
声明后端来的调试输出的可选文件或者控制台(tty). 
[-options optionalBackendArgs] 
声明数据库 dbName 所在后端服务器的选项. 

输出
dbHandle 
成功时,返回一个数据库联接的句柄.句柄以前缀 "pgsql" 开头. 

描述
pg_connect 打开一个与 Postgres 后端的联接. 
两种语法都可用.旧风格里面每个可能的选项都在 pg_connect 语句里用一个选项开关分隔.在新风格里,可以用一个选项字符串包含多个选项值.参阅 pg_conndefaults 获取关于新风格的可用的选项信息.

用法
XXX thomas 1997-12-24

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

pg_disconnect
名称
pg_disconnect — 关闭一个与后端服务器的联接 

语法
pg_disconnect dbHandle
Inputs
dbHandle 
声明一个有效的数据库句柄. 

输出
无 
描述
pg_disconnect 关闭一个与后端 Postgres 服务器的联接.

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

pg_conndefaults
名称
pg_conndefaults — 获取关于缺省联接参数的信息 

语法
pg_conndefaults
输入
无. 

输出
option list 
结果是一个描述可能的联接选项和它们的当前值的列表.列表中每个元素是一个下面格式的子列表: 
  
  

{optname label dispchar dispsize value}

这里 optname 可以用为 pg_connect -conninfo 里的选项. 

描述
pg_conndefaults 返回关于联接的在 pg_connect -conninfo 里可用的联接选项的信息和当前每个选项的缺省值.
用法
pg_conndefaults

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

pg_exec
名称
pg_exec — 向后端发送一个查询字串 

语法
pg_exec dbHandle queryString
输入
dbHandle 
声明一个有效的数据库句柄. 
queryString 
声明一个有效的 SQL 查询. 

输出
resultHandle 
如果 Pgtcl 不能获得后端返回,将返回一个 Tcl 错误.否则,一个查询对象将被创建并

[1] [2] [3]  下一页

[数据载入中...] [返回上一页] [打 印]