189 8069 5689

PostgreSQL数据库管理(六)

数据库是模式的集合,模式包含表,函数等。
层次结构: 服务器,数据库,模式,表(或某些其他类型的对象,例如函数).

列出现有的数据库: SELECT datname FROM pg_database; 或者: \l.
- 1. 创建数据库:
    create database name;
    initdb初始化数据存储区时,默认创建的第一个数据库是postgres.

    第二个数据库template1,也在数据库集群初始化期间创建。每当在集群中创建新数据库时,都是从template1克隆的。
    所做的任何更改都会从template1传播到所有后续创建的数据库。

    为其他人创建数据库,可配置和管理: CREATE DATABASE dbname OWNER rolename;
- 2. 模版数据库:
    标准系统数据库template1.制作新数据库的 “ 模板 ”.
    template1包含特定于编码或特定于语言环境的数据.

    第二个标准系统数据库template0,包含与初始内容相同的数据template1.即只有PostgreSQL版本预定义的标准对象.
    template0数据库群集初始化后,永远不应该更改。通过指示CREATE DATABASE复制template0,可以创建一个“ 原始 ”用户数据库.

    通过复制创建数据库template0: 
        CREATE DATABASE dbnameTEMPLATE template0; 
        createdb -T template0 dbname
- 3. 数据库配置
    设置特定于数据库的默认值:
        例如:为给定数据库禁用 GEQO优化器: ALTER DATABASE mydb SET geqo TO off;

    撤销特定于数据库的默认值:
        ALTER DATABASE dbname RESET varname;


- 4. 删除数据库:
    drop database name;
    删除数据库将删除数据库中包含的所有对象。
- 5. 表空间:
    PostgreSQL中的表空间允许数据库管理员在文件系统中定义可以存储表示数据库对象的文件的位置。
    创建后,可以在创建数据库对象时按名称引用表空间。
    表空间允许管理员使用数据库对象的使用模式的知识来优化性能.
    表空间也是数据库集群的组成部分.

    创建表空间: CREATE TABLESPACE fastspace LOCATION '/ssd1/postgresql/data';
        在表空间中创建的所有对象都将存储在此目录下的文件中.
    
    删除空的表空间: drop tablespace tablespacename;

    可以将表,索引和整个数据库分配给特定的表空间.具有CREATE给定表空间特权的用户必须将表空间名称作为参数传递给相关命令.
        CREATE TABLE foo(i int)TABLESPACE space1;
        或者:
        SET default_tablespace = space1; 
        CREATE TABLE foo(i int);

    temp_tablespaces参数,用于确定临时表和索引的位置,用于排序大型数据集等目的的临时文件.
    
    与数据库关联的表空间用于存储该数据库的系统目录。此外,它是用于在数据库中创建的表,索引和临时文件的缺省表空间.

    初始化数据库集群时会自动创建两个表空间。该pg_global 表被用于共享系统目录。
    该pg_default表是默认表空间template1和template0数据库.

    查看现有的表空间: SELECT spcname FROM pg_tablespace; 或者\db命令查看。
- 6 编码:
        LC_COLLATE	字符串排序顺序
        LC_CTYPE	字符分类(什么是字母?它的大写字母等价?)
        LC_MESSAGES	消息的语言
        LC_MONETARY	格式化货币金额
        LC_NUMERIC	格式化数字
        LC_TIME	格式化日期和时间

    检查系统上安装的语言环境: locale -a命令查看。
    检查当前可用的语言环境,使用查询 SELECT * FROM pg_collation 或者\dOS+
- 7. 字符集支持
    设置默认字符集(编码): initdb -E UTF-8
    数据库的编码存储在系统目录中 pg_database. \l 查看。或者: SELECT * FROM  pg_database;

    服务器和客户端之间的自动字符集转换,转换信息存储在pg_conversion系统目录中。
     查看转换信息: select * from pg_conversion;

     启用自动字符集转换,更改客户端编码: \encoding utf-8;
     设置客户端编码: SET CLIENT_ENCODING TO' value';
     查看当前客户端编码: SHOW client_encoding;
     重置为默认编码 : RESET client_encoding;

商河网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联从2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。


本文题目:PostgreSQL数据库管理(六)
分享链接:http://jkwzsj.com/article/ipdddi.html

其他资讯