溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PostgreSQL數(shù)據庫管理(六)

發(fā)布時間:2020-07-05 13:55:13 來源:網絡 閱讀:669 作者:IdealReality 欄目:數(shù)據庫
數(shù)據庫是模式的集合,模式包含表,函數(shù)等。
層次結構: 服務器,數(shù)據庫,模式,表(或某些其他類型的對象,例如函數(shù)).

列出現(xiàn)有的數(shù)據庫: SELECT datname FROM pg_database; 或者: \l.
- 1. 創(chuàng)建數(shù)據庫:
    create database name;
    initdb初始化數(shù)據存儲區(qū)時,默認創(chuàng)建的第一個數(shù)據庫是postgres.

    第二個數(shù)據庫template1,也在數(shù)據庫集群初始化期間創(chuàng)建。每當在集群中創(chuàng)建新數(shù)據庫時,都是從template1克隆的。
    所做的任何更改都會從template1傳播到所有后續(xù)創(chuàng)建的數(shù)據庫。

    為其他人創(chuàng)建數(shù)據庫,可配置和管理: CREATE DATABASE dbname OWNER rolename;
- 2. 模版數(shù)據庫:
    標準系統(tǒng)數(shù)據庫template1.制作新數(shù)據庫的 “ 模板 ”.
    template1包含特定于編碼或特定于語言環(huán)境的數(shù)據.

    第二個標準系統(tǒng)數(shù)據庫template0,包含與初始內容相同的數(shù)據template1.即只有PostgreSQL版本預定義的標準對象.
    template0數(shù)據庫群集初始化后,永遠不應該更改。通過指示CREATE DATABASE復制template0,可以創(chuàng)建一個“ 原始 ”用戶數(shù)據庫.

    通過復制創(chuàng)建數(shù)據庫template0: 
        CREATE DATABASE dbnameTEMPLATE template0; 
        createdb -T template0 dbname
- 3. 數(shù)據庫配置
    設置特定于數(shù)據庫的默認值:
        例如:為給定數(shù)據庫禁用 GEQO優(yōu)化器: ALTER DATABASE mydb SET geqo TO off;

    撤銷特定于數(shù)據庫的默認值:
        ALTER DATABASE dbname RESET varname;


- 4. 刪除數(shù)據庫:
    drop database name;
    刪除數(shù)據庫將刪除數(shù)據庫中包含的所有對象。
- 5. 表空間:
    PostgreSQL中的表空間允許數(shù)據庫管理員在文件系統(tǒng)中定義可以存儲表示數(shù)據庫對象的文件的位置。
    創(chuàng)建后,可以在創(chuàng)建數(shù)據庫對象時按名稱引用表空間。
    表空間允許管理員使用數(shù)據庫對象的使用模式的知識來優(yōu)化性能.
    表空間也是數(shù)據庫集群的組成部分.

    創(chuàng)建表空間: CREATE TABLESPACE fastspace LOCATION '/ssd1/postgresql/data';
        在表空間中創(chuàng)建的所有對象都將存儲在此目錄下的文件中.
    
    刪除空的表空間: drop tablespace tablespacename;

    可以將表,索引和整個數(shù)據庫分配給特定的表空間.具有CREATE給定表空間特權的用戶必須將表空間名稱作為參數(shù)傳遞給相關命令.
        CREATE TABLE foo(i int)TABLESPACE space1;
        或者:
        SET default_tablespace = space1; 
        CREATE TABLE foo(i int);

    temp_tablespaces參數(shù),用于確定臨時表和索引的位置,用于排序大型數(shù)據集等目的的臨時文件.
    
    與數(shù)據庫關聯(lián)的表空間用于存儲該數(shù)據庫的系統(tǒng)目錄。此外,它是用于在數(shù)據庫中創(chuàng)建的表,索引和臨時文件的缺省表空間.

    初始化數(shù)據庫集群時會自動創(chuàng)建兩個表空間。該pg_global 表被用于共享系統(tǒng)目錄。
    該pg_default表是默認表空間template1和template0數(shù)據庫.

    查看現(xiàn)有的表空間: SELECT spcname FROM pg_tablespace; 或者\db命令查看。
- 6 編碼:
        LC_COLLATE	字符串排序順序
        LC_CTYPE	字符分類(什么是字母?它的大寫字母等價?)
        LC_MESSAGES	消息的語言
        LC_MONETARY	格式化貨幣金額
        LC_NUMERIC	格式化數(shù)字
        LC_TIME	格式化日期和時間

    檢查系統(tǒng)上安裝的語言環(huán)境: locale -a命令查看。
    檢查當前可用的語言環(huán)境,使用查詢 SELECT * FROM pg_collation 或者\dOS+
- 7. 字符集支持
    設置默認字符集(編碼): initdb -E UTF-8
    數(shù)據庫的編碼存儲在系統(tǒng)目錄中 pg_database. \l 查看。或者: SELECT * FROM  pg_database;

    服務器和客戶端之間的自動字符集轉換,轉換信息存儲在pg_conversion系統(tǒng)目錄中。
     查看轉換信息: select * from pg_conversion;

     啟用自動字符集轉換,更改客戶端編碼: \encoding utf-8;
     設置客戶端編碼: SET CLIENT_ENCODING TO' value';
     查看當前客戶端編碼: SHOW client_encoding;
     重置為默認編碼 : RESET client_encoding;




向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI