zoukankan      html  css  js  c++  java
  • postgresql数据库创建、修改、删除

    一、数据库创建

    语法:

    Command:     CREATE DATABASE
    Description: create a new database
    Syntax:
    CREATE DATABASE name
        [ [ WITH ] [ OWNER [=] user_name ]
               [ TEMPLATE [=] template ]
               [ ENCODING [=] encoding ]
               [ LC_COLLATE [=] lc_collate ]
               [ LC_CTYPE [=] lc_ctype ]
               [ TABLESPACE [=] tablespace_name ]
               [ CONNECTION LIMIT [=] connlimit ] ]

     

    参数:

    name

    新创建数据库的名称。

    user_name

    新数据库所属用户的角色名称(PostgreSQL角色和用户没有区别),缺省使用执行命令的用户。如果想要给另外的角色创建数据库,那么命令执行者必须是那个角色的成员,或者是超级用户(initdb时使用的用户名或者是创建用户时指定为超级用户)。

    template

    新数据库使用模板的名称,缺省为template1(建议使用template0,template0是不可修改的空白数据库)。

    encoding

    新数据库使用的字符集编码。指定一个字符串常量(如'UFT8'),或者代表字符集编码的整数,或者使用缺省值(即模板数据库使用的字符集编码)。

    lc_collate

    新数据库使用的排序规则,该参数会影响到字符串的排序,比如查询语句中使用order by,以及文本类型列的索引排序,缺省使用模板数据库的lc_collate。

    lc_ctype

    新数据库使用的字符分类,该参数会影响字符的分类,比如大写字符、小写字符、数字,缺省使用模板数据库的lc_ctype。

    tablespace_name

    新数据库相关的表空间名称,缺省使用模板数据库的表空间。在该数据库中创建的所有对象缺省使用该表空间。表空间实际上就是为数据库对象指定一个存储目录,例如重要的数据存储在更安全的目录下,频繁访问的数据存储在性能更好的目录,不同的目录挂载不同的存储介质就可以做到数据的分类存储。使用psql客户端命令db可查看当前有哪些表空间。

    connlimit

    新数据库可以接受的并发连接的数量,缺省为-1,表示无限制。

    示例

    postgres=# create database school with owner=president template=template0 encoding='UTF8' lc_collate='C' lc_ctype='C' tablespace=tbs_test connection limit = 100;
    CREATE DATABASE

    二、修改数据库

    语法:

    Command:     ALTER DATABASE
    Description: change a database
    Syntax:
    ALTER DATABASE name [ [ WITH ] option [ ... ] ]

    where option can be:

        CONNECTION LIMIT connlimit

    ALTER DATABASE name RENAME TO new_name

    ALTER DATABASE name OWNER TO new_owner

    ALTER DATABASE name SET TABLESPACE new_tablespace

    ALTER DATABASE name SET configuration_parameter { TO | = } { value | DEFAULT }
    ALTER DATABASE name SET configuration_parameter FROM CURRENT
    ALTER DATABASE name RESET configuration_parameter
    ALTER DATABASE name RESET ALL

    参数:

    name

    要被修改的数据库名称。

    connlimit

    数据库并发连接数量。

    new_name

    数据库的新名称。

    new_user

    数据库的新用户。

    new_tablespace

    数据库新的表空间。

    configuration_parameter

    value

    为当前数据库会话指定的配置参数设置指定值,如果value的值为DEFAULT,或者使用RESET,数据库指定的设置将被删除。在新的会话中会继承系统范围内的所有默认配置。使用RESET ALL清除所有数据库指定配置,使用SET FROM CURRENT保存当前会话配置参数值为数据库指定值。

    示例

    postgres=# alter database school connection limit 10;
    ALTER DATABASE
    postgres=# alter database school owner to postgres;
    ALTER DATABASE
    postgres=# alter database school set tablespace pg_default ;
    ALTER DATABASE
    postgres=# alter database school set client_encoding to 'GBK';
    ALTER DATABASE
    postgres=# alter database school reset client_encoding ;
    ALTER DATABASE
    postgres=# alter database school reset all;
    ALTER DATABASE

    三、删除数据库

    语法:

    Command:     DROP DATABASE
    Description: remove a database
    Syntax:
    DROP DATABASE [ IF EXISTS ] name

    参数:

    name

    数据库名称

    IF EXISTS

    使用该参数删除一个不存在的数据库不会抛出错误。

    示例

    postgres=# drop database if exists school;
    DROP DATABASE
    postgres=# drop database if exists school;
    NOTICE:  database "school" does not exist, skipping
    DROP DATABASE
  • 相关阅读:
    Netty ChannelHandler组件作用
    Netty Channel组件作用
    Netty NioEventLoop自定义任务处理
    NIO与BIO
    JDK ByteBuffer与Netty ByteBuf
    linux-源码软件管理-yum配置
    typora使用快捷键
    远程连接mysql库问题
    MVC 后台处理 json格式的日期
    使用 SqlClient 创建数据库连接并获取数据
  • 原文地址:https://www.cnblogs.com/alianbog/p/4541668.html
Copyright © 2011-2022 走看看