麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > PostgreSQL > 正文

PostgreSQL7.0手冊-開發者手冊 -67. 后端接口

2019-09-08 23:34:04
字體:
來源:轉載
供稿:網友
第六十七章. 后端接口
內容 
BKI 文件格式 
通用命令 
宏命令 
調試命令 
例子 
后端接口(BKI)文件是一些腳本,這些腳本輸入到 Postgres 后端以特殊的 "bootstrap"(引導)模式運行,這種模式允許在不存在數據庫系統的情況下執行數據庫函數.BKI 文件因此可以在第一時間用于創建數據庫系統.initdb 使用 BKI 文件來做一件事:創建一個數據庫.不過 initdb 的 BKI 文件是內部生成的.它用文件 global1.bki.source 和local1.template1.bki.source 生成,這些文件放在 Postgres "library" 目錄.這些文件是做為 Postgres 安裝的一部分安裝的.這些 .source 文件是作為 Postgres 制作過程的一部分制作的,是用一個叫 genbki 的制作程序制作的.genbki把一個 Postgres 源文件作為輸入,把這個輸入分成兩份作為 genbki 輸入來制作描述那些表的表和 C 頭文件. 
相關的信息可以在有關 initdb,createdb,以及 SQL 命令 CREATE DATABASE 的文檔中找到. 

BKI 文件格式
Postgres 后端按下面描述的方法理解 BKI 文件.如果把 global1.bki.source 文件拿來做為例子,這些描述會變得容易理解些.(像我們上面解釋的,這些 .source 文件并不是一個 BKI 文件,但你能夠通過它們推導出它們生成的BKI 文件是什么). 
命令是由命令名稱后面跟著用空白隔開的參數組成的.用 “$” 開頭的命令參數被特殊對待.如果“$$” 是頭兩個字符,那么第一個 “$” 被忽略,并且參數正常處理.如果 “$” 后跟著空白,那么它被當成空(NULL)值.否則跟在 “$” 后面的字符被解釋成宏的名稱,并因此而導致用宏的值替換參數.如果這個宏沒有定義則是一個錯誤. 

宏是用下面語法定義的 

define macro macro_name = macro_value
并且用下面語法取消定義 
undefine macro macro_name
重新定義用的語法和定義時是一樣的. 
通用命令和宏命令的列表在后面.


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

General Commands
OPEN classname 
打開一個名為 classname 的表,準備進一步操作. 
CLOSE [classname] 
關閉名為 classname 的表.如果 classname 還沒有打開,則產生一個錯誤.如果沒有給出 classname,那么當前打開的表被關閉. 
PRINT 
打印當前打開的表. 
INSERT [OID=oid_value] (value1 value2 ...) 
用 value1, value2,等作為字段值以及 oid_value 作為其 OID(對象標識)向打開的表插入一條新記錄,如果 oid_value 不為零那么這個值將被用為記錄的對象標識.否則,就是一個錯誤. 
INSERT (value1 value2 ...) 
類似上面那條命令,但是系統產生一個唯一的對象標識. 
CREATE classname (name1 = type1 [,name2 = type2[,...]]) 
用圓括號里面給出的字段創建一個名為 classname 的表. 
OPEN (name1 = type1 [,name2 = type2[,...]]) AS classname 
打開一個名為 classname 的表用于寫,但是在系統表里面不記錄該表的存在.(這個主要是為了在"初始化" (bootstrapping)過程中協助工作.)
DESTROY classname 
刪除名為 classname 的表. 
DEFINE INDEX indexname ON class_name USING amname (opclass attr | (function(attr)) 
在名為 classname 的表上用 amname 訪問模式創建一個索引名為 indexname 的索引.要索引的字段叫 name1,name2 等,并且所用的對應的操作符集合是 collection_1, collection_2 等. 
注意:這最后一句話在例子中不引用任何東西.今后應做些修改,令其有實際意義.- Thomas 1998-08-04

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

宏命令
DEFINE FUNCTION macro_name AS rettype function_name(args) 
定義一個函數原形,函數名為 macro_name,其值類型為 rettype,該值是通過執行帶有類 C 定義參數的參數列表 args 的 function_name 獲得的. 
DEFINE MACRO macro_name FROM FILE filename 
定義一個宏,名為 macro_name,其值是從文件 filename 里讀取的. 

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

調試命令
注意:這一節關于調試命令的信息在最早的文檔里面是被注釋掉了的.Thomas 1998-08-05
r 
隨機打印打開的表. 
m -1 
打開時間信息的輸出. 
m 0 
設置檢索為當前. 
m 1 Jan 1 01:00:00 1988 
設置檢索為聲明的時間的快照. 
m 2 Jan 1 01:00:00 1988, Feb 1 01:00:00 1988 
設置檢索為聲明的時間范圍.如果需要一個無界的時間,兩個時間都可能被空白代替. 
&A classname natts name1type1 name2 type2 ... 
向表 classname 增加 natts 字段,字段名為 name1,name2等,而類型為 type1,type2等. 
&RR oldclassname newclassname 
將舊表 oldclassname 改名為 newclassname. 
&RA classname oldattname newattname classnameoldattnamenewattname 
把表 classname 里的字段 oldattname 改名為 newattname. 

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

例子
下面的命令集將創建名為“pg_opclass” 的表,表中包含 int_ops 集合做為一個具有 421 對象標識(OID)的對象,打印出表,然后關閉之. 
create pg_opclass (opcname=name)
open pg_opclass
insert oid=421 (int_ops)
print
close pg_opclass

--------------------------------------------------------------------------------
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 色综合激情 | 久久av喷吹av高潮av懂色 | 欧美电影在线观看 | 久久久久久久亚洲精品 | 久草在线公开视频 | 成人一级黄色大片 | 成品片a免人视频 | 7777奇米成人四色影视 | 最近中文字幕一区二区 | 毛片视频在线免费观看 | 中文字幕伦乱 | 中午字幕无线码一区2020 | 日韩毛片一区二区三区 | 一本色道久久综合狠狠躁篇适合什么人看 | 日韩美香港a一级毛片免费 日韩激情 | 久久国产精品久久久久久 | 成年人在线免费播放视频 | 久久久成人免费视频 | 欧洲精品久久久 | 中文字幕h | 色网免费观看 | 999久久国精品免费观看网站 | 久久久久久久久久久影视 | 中国杭州少妇xxxx做受 | 青青草免费观看 | 国产一区二区免费 | 72pao成人国产永久免费视频 | 亚洲欧美国产高清 | 9191久久久久视频 | 色妞欧美 | 久久久久久久一区二区三区 | 一本到免费视频 | 牛牛视频在线 | 亚洲成在人 | 欧美精品第1页 | 中文字幕欧美一区二区三区 | 在线免费小视频 | 免费观看视频在线 | 亚洲网站一区 | 亚洲精品成人在线视频 | 亚洲综合一区在线观看 |