博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
postgresql数据库创建、修改、删除
阅读量:6692 次
发布时间:2019-06-25

本文共 2754 字,大约阅读时间需要 9 分钟。

一、数据库创建

语法:

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 DATABASEpostgres=# alter database school owner to postgres;ALTER DATABASEpostgres=# alter database school set tablespace pg_default ;ALTER DATABASEpostgres=# alter database school set client_encoding to 'GBK';ALTER DATABASEpostgres=# alter database school reset client_encoding ;ALTER DATABASEpostgres=# 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 DATABASEpostgres=# drop database if exists school;NOTICE:  database "school" does not exist, skippingDROP DATABASE

 

转载于:https://www.cnblogs.com/alianbog/p/4541668.html

你可能感兴趣的文章
Oracle VM VirtualBox技巧
查看>>
uvm_svcmd_dpi——DPI在UVM中的实现(二)
查看>>
Crimm Imageshop 2.3。
查看>>
SQL AND和OR求值顺序
查看>>
买房必知的五大法律常识 助你安心顺利选房
查看>>
leetcode563
查看>>
剑指Offer 40 最小的k个数
查看>>
plsql developer 连接数据库 转!!
查看>>
商业模式到底是什么?(转载)
查看>>
winform创建树形菜单的无限级分类
查看>>
017——数组(十七) asort ksort rsort arsort krsort
查看>>
从此不再惧怕URI编码:JavaScript及C# URI编码详解
查看>>
[OpenGL] glVertexAttribPointer函数与glVertexAttribIPointer函数使用中遇到的小坑(int类型被自动转换为float类型)...
查看>>
oracle添加控制文件,ORA-00214: 错误
查看>>
SQL 语句技巧--单列数据变多行数据
查看>>
MySQL数据库机房裁撤问题总结
查看>>
获取图片为二进制流,并且显示图片到网页
查看>>
C#获取当前程序运行路径的方法集合
查看>>
Android IOS WebRTC 音视频开发总结(三二)-- WebRTC项目开发建议
查看>>
Azure 中的多个 VM NIC 和网络虚拟设备
查看>>