• 028.PGSQL-用户创建、表空间创建、数据库创建、schema创建、表创建、生成测试数据、指定搜索路径、


     登录数据库
    su postgres #注意这里postgers 前后都有空格
    psql -U postgres -d postgres -p 5432
    [centos@s101 /home/centos]$su postgres
    [postgres@s101 /home/centos]$cd /
    [postgres@s101 /]$psql -U postgres -d postgres -p 5432

    用户创建

    CREATE ROLE pguser WITH ENCRYPTED PASSWORD '123456';


    postgres=# CREATE ROLE pguser WITH ENCRYPTED PASSWORD '123456';
    CREATE ROLE

    创建表空间目录

    [postgres@s101 /var/lib/pgsql/13]$mkdir -p /var/lib/pgsql/13/pg_tbs/tbs_mydb

    表空间创建


    postgres=# create tablespace tbs_mydb owner pguser location '/var/lib/pgsql/13/pg_tbs/tbs_mydb';
    CREATE TABLESPACE

    数据库创建

    CREATE DATABASE "mydb"
    WITH
      OWNER = "pguser"
      TEMPLATE = "template0"
      ENCODING = 'UTF8'
      TABLESPACE = "tbs_mydb"
    ;
    
    COMMENT ON DATABASE "mydb" IS '测试数据库';

    赋予权限


    postgres=# grant all on database mydb to pguser with grant option;
    GRANT
    postgres=# grant all on tablespace tbs_mydb to pguser ;
    GRANT

    需要给用户登录权限,不然会报错

    postgres=# ALTER ROLE pguser LOGIN;
    ALTER ROLE

    测试登录

    [postgres@s101 /]$psql -h localhost -p 5432 mydb pguser
    Password for user pguser:
    psql (9.2.24, server 13.3)
    WARNING: psql version 9.2, server version 13.0.
    Some psql features might not work.
    Type "help" for help.

    mydb=>

    查看对应库的schemas


    mydb=> dn
    List of schemas
    Name | Owner
    --------+----------
    public | postgres
    (1 row)

    查看表空间和用户   db


    postgres=# db
    List of tablespaces
    Name | Owner | Location
    ------------+----------+-----------------------------------
    pg_default | postgres |
    pg_global | postgres |
    tbs_mydb | pguser | /var/lib/pgsql/13/pg_tbs/tbs_mydb
    (3 rows)

    创建schema

    创建schema
    CREATE SCHEMA myschema;

    创建表

    CREATE TABLE "myschema"."o_ls_test" (
      
      "rid" int4,
      "name" varchar(200) COLLATE "pg_catalog"."default",
      "timeflag" timestamp without time zone default clock_timestamp()
    )
    ;
    
    ALTER TABLE "myschema"."o_ls_test" 
      OWNER TO "pguser";
    
    COMMENT ON COLUMN "myschema"."o_ls_test"."rid" IS 'rid';
    COMMENT ON COLUMN "myschema"."o_ls_test"."name" IS '名称';
    COMMENT ON COLUMN "myschema"."o_ls_test"."timeflag" IS '创建时间'; 
    
    COMMENT ON TABLE "myschema"."o_ls_test" IS '测试表';

    CREATE INDEX "rid_index" ON "myschema"."o_ls_test" USING btree (
    "rid" ASC NULLS LAST
    );

    生成测试数据

    insert into "myschema"."o_ls_test"(
    rid 
    ,name 
    )
    select n ,n || '测试名字' || n
    from 
    generate_series(1,5000000)  n ;

    查看搜索路径

    mydb=> SHOW search_path;
       search_path
    -----------------
     "$user", public
    (1 row)
    
    
    mydb=> SELECT current_schema();
    current_schema
    ----------------
    public
    (1 row)
    
    
    
    
    
    指定搜索路径
    
    
    mydb=> SET search_path TO public, myschema ;
    SET
    mydb=> SELECT current_schema();
    current_schema
    ----------------
    public
    (1 row)
    
    mydb=> SHOW search_path;
    search_path
    ------------------
    public, myschema
    (1 row)
    
    查看搜索路径下schema的所有表
    mydb
    => dt List of relations Schema | Name | Type | Owner ----------+-----------+-------+-------- myschema | o_ls_test | table | pguser


    postgres@[local]:5432=#alter system set search_path = "$user",public,myschema;
    ALTER SYSTEM
    postgres@[local]:5432=#show search_path;
    search_path
    -----------------
    "$user", public
    (1 row)

    postgres@[local]:5432=#SELECT pg_reload_conf();
    pg_reload_conf
    ----------------
    t
    (1 row)

    postgres@[local]:5432=#show search_path;
    search_path
    ---------------------------
    "$user", public, myschema

    表空间 tablespace  

    数据库 database

    schema schema 

  • 相关阅读:
    全屏漂浮
    JQ----树杈型导航
    SSM中各层作用及关系
    java23种设计模式 追MM简易理解版
    SQL语句的增练习案例
    pl/sql
    pl/sql练习案例
    oracle查重和oracle分页
    oracle中的常用函数
    IntelliJ Idea 常用快捷键列表
  • 原文地址:https://www.cnblogs.com/star521/p/15054341.html
Copyright © 2020-2023  润新知