PostgreSQL中文学习手册(数据库管理)
PostgreSQL中文学习手册(数据库管理) ,在与数据库服务器建立连接时,该连接只能与一个数据库形成关联,不允许在一个会话中进行多
一、概述:
数据库可以被看成是SQL对象(数据库对象)的命名集合,通常而言,每个数据库对象(表、函数等)只属于一个数据库。不过对于部分系统表而言,如pg_database,是属于整个集群的。更准确地说,数据库是模式的集合,而模式包含表、函数等SQL对象。因此完整的对象层次应该是这样的:服务器、数据库、模式、表或其他类型的对象。
在与数据库服务器建立连接时,该连接只能与一个数据库形成关联,不允许在一个会话中进行多个数据库的访问。如以postgres用户登录,该用户可以访问的缺省数据库为postgres,在登录后如果执行下面的SQL语句将会收到PostgreSQL给出的相关错误信息。
postgres=# SELECT * FROM MyTest."MyUser".testtables;
ERROR: cross-database references are not implemented: "otherdb.otheruser.sometable"
LINE 1: select * from otherdb.otheruser.sometable
在PostgreSQL中,,数据库在物理上是相互隔离的,对它们的访问控制也是在会话层次上进行的。然而模式只是逻辑上的对象管理结构,是否能访问某个模式的对象是由权限系统来控制的。
执行下面的基于系统表的查询语句可以列出现有的数据库集合。
SELECT datname FROM pg_database;
注:psql应用程序的\l元命令和-l命令行选项也可以用来列出当前服务器中已有的数据库。
二、创建数据库:
在PostgreSQL服务器上执行下面的SQL语句可以创建数据库。
CREATE DATABASE db_name;
在数据库成功创建之后,当前登录角色将自动成为此新数据库的所有者。在删除该数据库时,也需要该用户的特权。如果你想让当前创建的数据库的所有者为其它角色,可以执行下面的SQL语句。
CREATE DATABASE db_name OWNER role_name;
三、修改数据库配置:
PostgreSQL服务器提供了大量的运行时配置变量,我们可以根据自己的实际情况为某一数据库的某一配置变量指定特殊值,通过执行下面的SQL命令可以使该数据库的某一配置被设置为指定值,而不再使用缺省值。
ALTER DATABASE db_name SET varname TO new_value;
这样在之后基于该数据库的会话中,被修改的配置值已经生效。如果要撤消这样的设置并恢复为原有的缺省值,可以执行下面的SQL命令。
ALTER DATABASE dbname RESET varname;
上一篇: 【AngularJS系列2】scope
下一篇: MySQL学习15:子查询(二)
推荐阅读
-
Hadoop之Hive本地与远程MySQL数据库管理模式安装手册
-
PostgreSQL中文学习手册(事物隔离)
-
Oracle数据库下约束的创建与管理(主键约束)学习讲解
-
MySQL中文参考手册-- 获得数据库和表的信息_MySQL
-
数据库管理中文件的使用教程
-
SQL SERVER学习之创建与管理数据库
-
Velocity用户手册---中文版(学习修改版) velocityWeb化工应用服务器jQuery
-
PostgreSQL的学习心得和知识总结(十二)|数据库触发器使用说明及特性总结
-
PostgreSQL数据库管理工作中,定期vacuum的效果和方式讲解
-
PostgreSQL12.2_cn.chm 中文手册 最新版