PostgreSQL数据库管理(六)

发布时间:2020-07-05 13:55:13 作者:IdealReality
来源:网络 阅读:668
数据库是模式的集合,模式包含表,函数等。
层次结构: 服务器,数据库,模式,表(或某些其他类型的对象,例如函数).

列出现有的数据库: 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;




推荐阅读:
  1. PostgreSQL 10数据类型与索引
  2. PostgreSQL系统列 System Columns

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

postgre sql 数据库

上一篇:ZooKeeper客户端连接数过多

下一篇:运算符优先级

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》