PostgreSQL 库相关的操作

建库 CREATE DATABASE:

Command: CREATE DATABASEDescription: create a new databaseSyntax:CREATE DATABASE name [ [ WITH ] [ OWNER [=] user_name ] [ TEMPLATE [=] template ] [ ENCODING [=] encoding ] [ LC_COLLATE [=] lc_collate ] [ LC_CTYPE [=] lc_ctype ] [ TABLESPACE [=] tablespace_name ] [ ALLOW_CONNECTIONS [=] allowconn ] [ CONNECTION LIMIT [=] connlimit ] [ IS_TEMPLATE [=] istemplate ] ]参数: OWNER [=] user_name 新库所属用户的角色名称(PostgreSQL角色和用户没有区别),缺省使用执行命令的用户。如果想要给另外的角色创建数据库,那么命令执行者必须是那个角色的成员,或者是超级用户。 TEMPLATE [=] template 新库使用模板的名称,缺省为template1(建议使用template0,template0是不可修改的空白数据库)。 ENCODING [=] encoding 新库使用的字符集编码。指定一个字符串常量(如‘UFT8‘),或者代表字符集编码的整数,或者使用缺省值(即模板数据库使用的字符集编码)。 LC_COLLATE [=] lc_collate 新库使用的排序规则,该参数会影响到字符串的排序,比如查询语句中使用order by,以及文本类型列的索引排序,缺省使用模板数据库的lc_collate。 LC_CTYPE [=] lc_ctype 新库使用的字符分类,该参数会影响字符的分类,比如大写字符、小写字符、数字,缺省使用模板数据库的lc_ctype。 TABLESPACE [=] tablespace_name 新库相关的表空间名称,缺省使用模板数据库的表空间。在该数据库中创建的所有对象缺省使用该表空间。 表空间实际上就是为数据库对象指定一个存储目录,例如重要的数据存储在更安全的目录下,频繁访问的数据存储在性能更好的目录,不同的目录挂载不同的存储介质就可以做到数据的分类存储。 使用psql客户端命令\db可查看当前有哪些表空间。 CONNECTION LIMIT [=] connlimit 新数据库可以接受的并发连接的数量,缺省为-1,表示无限制。

修改数据库 ALTER DATABASE:

Command: ALTER DATABASEDescription: change a databaseSyntax:ALTER DATABASE name [ [ WITH ] option [ ... ] ]where option can be: ALLOW_CONNECTIONS allowconn CONNECTION LIMIT connlimit IS_TEMPLATE istemplateALTER DATABASE name WITH CONNECTION LIMIT = connlimit; 修改数据库并发连接数量ALTER DATABASE name RENAME TO new_name; 修改数据库名称ALTER DATABASE name OWNER TO { new_owner | CURRENT_USER | SESSION_USER } 修改数据库用户ALTER DATABASE name SET TABLESPACE new_tablespace 修改数据库表空间ALTER DATABASE name SET configuration_parameter { TO | = } { value | DEFAULT } 为当前数据库会话指定的配置参数设置指定值,如果value的值为DEFAULT,或者使用RESET,数据库指定的设置将被删除,在新的会话中会继承系统范围内的所有默认配置。ALTER DATABASE name SET configuration_parameter FROM CURRENT SET FROM CURRENT保存当前会话配置参数值为数据库指定值ALTER DATABASE name RESET configuration_parameter RESET 清除数据库指定配置ALTER DATABASE name RESET ALL RESET ALL清除数据库所有指定配置

栗子:

建库CREATE DATABASE sample_db;删库CREATE DATABASE sample_db;建库并设置ownerCREATE DATABASE sample_db WITH OWNER pguser;重命名库ALTER DATABASE sample_db RENAME TO sample_new_db;重置ownerALTER DATABASE sample_db WITH OWNER TO root;修改并发连接数ALTER DATABASE sample_db WITH CONNECTION LIMIT = 100;

相关文章