好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > PostgreSQL教程(十三):數據庫管理詳解

PostgreSQL教程(十三):數據庫管理詳解

熱門標簽:外呼調研系統 漯河外呼電話系統 打電話智能電銷機器人授權 海豐有多少商家沒有地圖標注 辦公外呼電話系統 合肥公司外呼系統運營商 地圖標注和圖片名稱的區別 重慶自動外呼系統定制 美容工作室地圖標注

一、概述:

    數據庫可以被看成是SQL對象(數據庫對象)的命名集合,通常而言,每個數據庫對象(表、函數等)只屬于一個數據庫。不過對于部分系統表而言,如pg_database,是屬于整個集群的。更準確地說,數據庫是模式的集合,而模式包含表、函數等SQL對象。因此完整的對象層次應該是這樣的:服務器、數據庫、模式、表或其他類型的對象。

    在與數據庫服務器建立連接時,該連接只能與一個數據庫形成關聯,不允許在一個會話中進行多個數據庫的訪問。如以postgres用戶登錄,該用戶可以訪問的缺省數據庫為postgres,在登錄后如果執行下面的SQL語句將會收到PostgreSQL給出的相關錯誤信息。

復制代碼 代碼如下:

    postgres=# SELECT * FROM MyTest."MyUser".testtables;
    ERROR:  cross-database references are not implemented: "otherdb.otheruser.sometable"
    LINE 1: select * from otherdb.otheruser.sometable
 

    在PostgreSQL中,數據庫在物理上是相互隔離的,對它們的訪問控制也是在會話層次上進行的。然而模式只是邏輯上的對象管理結構,是否能訪問某個模式的對象是由權限系統來控制的。
    執行下面的基于系統表的查詢語句可以列出現有的數據庫集合。
 
復制代碼 代碼如下:

    SELECT datname FROM pg_database;
 

    注:psql應用程序的\l元命令和-l命令行選項也可以用來列出當前服務器中已有的數據庫。 
   
二、創建數據庫:

    在PostgreSQL服務器上執行下面的SQL語句可以創建數據庫。
 

復制代碼 代碼如下:

    CREATE DATABASE db_name;
 

    在數據庫成功創建之后,當前登錄角色將自動成為此新數據庫的所有者。在刪除該數據庫時,也需要該用戶的特權。如果你想讓當前創建的數據庫的所有者為其它角色,可以執行下面的SQL語句。
 
復制代碼 代碼如下:

    CREATE DATABASE db_name OWNER role_name;
 

三、修改數據庫配置:

    PostgreSQL服務器提供了大量的運行時配置變量,我們可以根據自己的實際情況為某一數據庫的某一配置變量指定特殊值,通過執行下面的SQL命令可以使該數據庫的某一配置被設置為指定值,而不再使用缺省值。
 

復制代碼 代碼如下:

    ALTER DATABASE db_name SET varname TO new_value;
 

    這樣在之后基于該數據庫的會話中,被修改的配置值已經生效。如果要撤消這樣的設置并恢復為原有的缺省值,可以執行下面的SQL命令。
 
復制代碼 代碼如下:

    ALTER DATABASE dbname RESET varname;
 

四、刪除數據庫:

    只有數據庫的所有者和超級用戶可以刪除數據庫。刪除數據庫將會刪除數據庫中包括的所有對象,該操作是不可恢復的。見如下刪除SQL命令:
 

復制代碼 代碼如下:

    DROP DATABASE db_name;
 

   
五、表空間:

    在PostgreSQL中,表空間表示一組文件存放的目錄位置。在創建之后,就可以在該表空間上創建數據庫對象。通過使用表空間,管理員可以控制一個PostgreSQL服務器的磁盤布局。這樣管理員就可以根據數據庫對象的數據量和數據使用頻度等參照來規劃這些對象的存儲位置,以便減少IO等待,從而優化系統的整體運行性能。比如,將一個使用頻繁的索引放在非常可靠、高效的磁盤設備上,如固態硬盤。而將很少使用的數據庫對象存放在相對較慢的磁盤系統上。下面的SQL命令用于創建表空間。
 

復制代碼 代碼如下:

    CREATE TABLESPACE fastspace LOCATION '/mnt/sda1/postgresql/data';
 

    需要說明的是,表空間指定的位置必須是一個現有的空目錄,且屬于PostgreSQL系統用戶,如postgres。在成功創建之后,所有在該表空間上創建的對象都將被存放在這個目錄下的文件里。
    在PostgreSQL中只有超級用戶可以創建表空間,但是在成功創建之后,就可以允許普通數據庫用戶在其上創建數據庫對象了。要完成此操作,必須在表空間上給這些用戶授予CREATE權限。表、索引和整個數據庫都可以放在特定的表空間里。見如下SQL命令:
 
復制代碼 代碼如下:

    CREATE TABLE foo(i int) TABLESPACE space1;
 

    此外,我們還可以通過修改default_tablespace配置變量,以使指定的表空間成為缺省表空間,這樣在創建任何數據庫對象時,如果沒有顯示指定表空間,那么該對象將被創建在缺省表空間中,如:
 
復制代碼 代碼如下:

    SET default_tablespace = space1;
    CREATE TABLE foo(i int);
 

    與數據庫相關聯的表空間用于存儲該數據庫的系統表,以及任何使用該數據庫的服務器進程創建的臨時文件。
    要刪除一個空的表空間,可以直接使用DROP TABLESPACE命令,然而要刪除一個包含數據庫對象的表空間,則需要先將該表空間上的所有對象全部刪除后,才可以再在刪除該表空間。

    要檢索當前系統中有哪些表空間,可以執行以下查詢,其中pg_tablespace為PostgreSQL中的系統表。
 

復制代碼 代碼如下:

    SELECT spcname FROM pg_tablespace;
 

    我們還可以通過psql程序的\db元命令列出現有的表空間。

您可能感興趣的文章:
  • PostgreSQL教程(一):數據表詳解
  • PostgreSQL教程(二):模式Schema詳解
  • PostgreSQL教程(三):表的繼承和分區表詳解
  • PostgreSQL教程(四):數據類型詳解
  • PostgreSQL教程(五):函數和操作符詳解(1)
  • PostgreSQL教程(六):函數和操作符詳解(2)
  • PostgreSQL教程(七):函數和操作符詳解(3)
  • PostgreSQL教程(八):索引詳解
  • PostgreSQL教程(九):事物隔離介紹
  • PostgreSQL教程(十):性能提升技巧
  • PostgreSQL教程(十一):服務器配置
  • PostgreSQL教程(十二):角色和權限管理介紹
  • PostgreSQL教程(十四):數據庫維護

標簽:晉城 蚌埠 衡陽 烏海 株洲 來賓 錦州 珠海

巨人網絡通訊聲明:本文標題《PostgreSQL教程(十三):數據庫管理詳解》,本文關鍵詞  PostgreSQL,教程,十三,數據庫,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PostgreSQL教程(十三):數據庫管理詳解》相關的同類信息!
  • 本頁收集關于PostgreSQL教程(十三):數據庫管理詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 放荡娇妻肉交换h绿帽| 我和替身渣攻恋爱后白月光回来了| 黑人巨摘花破女处| 无码人妻久久一区二区三区免费人妻| 狠狠操中文字幕| 七色草AV精品一区二区三区| 同性白嫩小受高h大哭改造| 日韩激情图片| 污污网站在线看| 搡老女人老妇女老妇老熟女怎么读 | 丰满少妇在线观看BD| 俄罗斯美女一级A片| 潮汕乱A片真实在线观看| 1024成线在人免费视频| 达达兔午夜理论私人影院| 肉肉高h文| 一本久道久久综合婷婷| 一级AA特黄毛片| 欧美熟妇浓毛大BBW| 大尺度电影网站| 察哈| 日本性调教| 女朋友下边粉嫩粉嫩的怎么办| 99热网址| 《裸体肉欲》无删减在线观看| 国产精品一区二区Av| 精品国产在线观看| 国产精品日产三级在线观看| 孕妇被黑人猛烈进入A片| 玩东北老熟女棚户区HD| 美女脱了内裤趴着打光屁屁直播| 小奶头流奶水(H)| 91亚洲精品丁香在线观看| 中文成人在线视频| 毛片电影在线| 国精产品一区一区三区四川| 日本久久免费| 亚洲乱码国产乱码精品精可以看 | 日本理论片理论免费| 性俄罗斯交XXXXX免费视频| 国产精品福利在线观看入口|