
数据库逻辑结构介绍
- 数据库:一个PostgreSQL数据库服务可以管理多个数据库,当应用连接到一个数据库时,一般只能访问这个数据库中的数据,而不能访问其他数据库中的内容(除非使用DBLink等其他手段);
- 表、索引:一个数据库中有很多表、索引。一般来说,在PostgreSQL中表的术语为“Relation”;
- 数据行:每张表中都有很多行数据。在PostgreSQL中行的术语一般为“Tuple”;
- 在PostgreSQL中,一个数据库服务(或叫实例)下可以有多个数据库,但一个数据库不能属于多个实例;

数据库基本操作
创建数据库
CREATE DATABASE name
[ WITH ] [ OWNER [=] user_name ]
[ TEMPLATE [=] template ]
[ ENCODING [=] encoding ]
[ STRATEGY [=] strategy ] ]
[ LOCALE [=] locale ]
[ LC_COLLATE [=] lc_collate ]
[ LC_CTYPE [=] lc_ctype ]
[ ICU_LOCALE [=] icu_locale ]
[ LOCALE_PROVIDER [=] locale_provider ]
[ COLLATION_VERSION = collation_version ]
[ TABLESPACE [=] tablespace_name ]
[ ALLOW_CONNECTIONS [=] allowconn ]
[ CONNECTION LIMIT [=] connlimit ]
[ IS_TEMPLATE [=] istemplate ]
[ OID [=] oid ]
- OWNER [=] user_name:用于指定新建的数据库属于哪个用户,如果不指定,新建的数据库就属于当前执行命令的用户;
- TEMPLATE [=] template:模板名(从哪个模板创建新数据库),如果不指定,将使用默认模板数据库(template1);
- [ENCODING [=] encoding]:创建新数据库使用的字符编码;
- TABLESPACE [=] tablespace:用于指定和新数据库关联的表空间名称;
- CONNECTION LIMIT [=] connlimit]:用于指定数据库可以接受多少并发的连接。默认值为“-1”,表示没有限制;
CREATE DATABASE demodb;

修改数据库
ALTER DATABASE name [ [ WITH ] option [ ... ] ]
# option
ALTER DATABASE name RENAME TO new_name
ALTER DATABASE name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER DATABASE name SET TABLESPACE new_tablespace
ALTER DATABASE name REFRESH COLLATION VERSION
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
# 将数据库 demodb 的最大连接数修改为10
alter database demodb CONNECTION LIMIT 10;
# 将数据库 demodb 的名称改为 testdb
alter database demodb rename to testdb;

删除数据库
DROP DATABASE [ IF EXISTS ] name [ [ WITH ] ( option [, ...] ) ]
# 删除数据库
# 数据库存在,则将其删除,如果不存在,使用删除命令时也不报错
postgres=# drop database if exists testdb01;
NOTICE: database "testdb01" does not exist, skipping
DROP DATABASE
# 有用户连接在这个数据库上,将无法删除该数据库
postgres=# drop database testdb;
ERROR: database "testdb" is being accessed by other users
DETAIL: There is 1 other session using the database.

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




