zoukankan      html  css  js  c++  java
  • postgres表空间、模式、表和用户/角色之间的关系

    一、 角色(role)和用户(user)
       1. role
          postgres=# create role kanon password 'kanon';         #使用role创建的用户默认不允许登录
          postgres=# alter role kanon login;                     #修改kanon可以登录
       2. user
          postgres=# create user kanon2 password 'kanon2';       #使用user创建的用户默认可以登录

    二、数据库(database)和模式(schema)的关系
       模式(schema)是对数据库(database)的逻辑分割
       
       1. 在数据库初始化时,就默认为数据库创建了一个模式--public,这也是数据库的默认模式,所有为此数据库
          创建的对象(表,函数,视图,索引,序列等)都是常见在这个模式中的。
       2. 查看模式: dn  创建模式: create schema kanon owner kanon
          创建一张表指定模式: create table kanon.test (id integer not null);
        
       3. 官方建议:当管理员创建一个数据库后,应该为所有可以连接到该数据库的用户分别创建一个与用户名相同
          的模式,然后将search_path设置为“$user”,这样当某个用户连接上来以后,都会默认定位到同名模式中。
          
    三、 数据库(database)和表空间的关系
       1. 创建一个表时,默认的表空间是--pg_default,这是因为postgres中,数据库的创建是通过克隆数据库模板
          来实现的,create database dbname并没有指明数据库模板,所以系统将默认克隆template1数据库,得到
          新的数据库dbname,而template1数据库的默认表空间是pg_default,这个表空间也是数据库初始化时候创建
          的,所以template1中的对象被同步克隆到新的数据库中,完整创建数据库的语法是这样的:create database
          dbname owner kanon template template1 tablespace tablespacename
       2. 创建一个表空间:create tablespace tskanon owner kanon location /tmp/data/tskanon
          表空间是一个目录,里面存储它所包含的数据库各种物理文件。   
         

  • 相关阅读:
    SoapUI 使用笔记
    git 使用笔记(二)
    git 使用笔记(一)
    jquery 拓展
    hdu 1024 Max Sum Plus Plus (DP)
    hdu 2602 Bone Collector (01背包)
    hdu 1688 Sightseeing (最短路径)
    hdu 3191 How Many Paths Are There (次短路径数)
    hdu 2722 Here We Go(relians) Again (最短路径)
    hdu 1596 find the safest road (最短路径)
  • 原文地址:https://www.cnblogs.com/zhaojonjon/p/6912343.html
Copyright © 2011-2022 走看看