04 2013 档案
摘要:一、角色与用户的区别角色就相当于岗位:角色可以是经理,助理。用户就是具体的人:比如陈XX经理,朱XX助理,王XX助理。在PostgreSQL 里没有区分用户和角色的概念,"CREATE USER" 为 "CREATE ROLE" 的别名,这两个命令几乎是完全相同的,唯一的区别是"CREATE USER" 命令创建的用户默认带有LOGIN属性,而"CREATE ROLE" 命令创建的用户默认不带LOGIN属性(CREATE USERis equivalent toCREATE ROLEexcept thatCREAT
阅读全文
摘要:一、启动与关闭1.1 Linux下启动mysql 的命令:a. rpm包安装:service mysqld startb. 源码包安装:/usr/local/mysql/bin/mysqld_safe --user=mysql &1.2 Linux下重启mysql 的命令:a. rpm包安装:service mysqld restartb. 源码包安装:先关闭mysql/usr/local/mysql/bin/mysqladmin -uroot -p shutdown再启动mysql/usr/local/mysql/bin/mysqld_safe --user=mysql &1
阅读全文
摘要:一、简介PostgreSQL 提供了多个系统管理函数来查看表,索引,表空间及数据库的大小,下面详细介绍一下。二、数据库对象尺寸函数函数名返回类型描述pg_column_size(any)int存储一个指定的数值需要的字节数(可能压缩过)pg_database_size(oid)bigint指定OID的数据库使用的磁盘空间pg_database_size(name)bigint指定名称的数据库使用的磁盘空间pg_indexes_size(regclass)bigint关联指定表OID或表名的表索引的使用总磁盘空间pg_relation_size(relation regclass, fork t
阅读全文
摘要:去重的方法一般是找到重复数据中的一条,以某一唯一条件去掉其他重复值。Oracle去重的方法很多,常用的是根据 rowid 进行去重。PostgreSQL 库如何去除单表重复数据呢?可以通过 ctid 进行,下面是实验过程。一、创建测试表david=# create table emp (david(# id int,david(# name varchar);CREATE TABLEdavid=# 二、插入测试数据david=# insert into emp values (1, 'david');INSERT 0 1david=# insert into emp value
阅读全文
摘要:PostgreSQL的常用时间函数使用整理如下:一、获取系统时间函数1.1 获取当前完整时间select now();david=# select now(); now ------------------------------- 2013-04-12 15:39:40.399711+08(1 row)david=# current_timestamp 同 now() 函数等效。david=# select current_timestamp; now ------------------...
阅读全文
摘要:一、简介序列对象(也叫序列生成器)就是用CREATE SEQUENCE 创建的特殊的单行表。一个序列对象通常用于为行或者表生成唯一的标识符。二、创建序列方法一:直接在表中指定字段类型为serial 类型david=# create table tbl_xulie (david(# id serial,david(# name text);NOTICE: CREATE TABLE will create implicit sequence "tbl_xulie_id_seq" for serial column "tbl_xulie.id"CREATE T
阅读全文
摘要:一、简介 在数据库日渐庞大的今天,为了方便对数据库数据的管理,比如按时间,按地区去统计一些数据时,基数过于庞大,多有不便。很多商业数据库都提供分区的概念,按不同的维度去存放数据,便于后期的管理,PostgreSQL也不例外。 PostgresSQL分区的意思是把逻辑上的一个大表分割成物理上的几块儿。分区不仅能带来访问速度的提升,关键的是,它能带来管理和维护上的方便。 分区的具体好处是:某些类型的查询性能可以得到极大提升。更新的性能也可以得到提升,因为表的每块的索引要比在整个数据集上的索引要小。如果索引不能全部放在内存里,那么在索引上的读和写都会产生更多的磁盘访问。批量删除可以用简单的删除...
阅读全文
摘要:一、简介PostgreSQL 中有一个很有用处的内置函数generate_series,可以按不同的规则产生一系列的填充数据。二、语法函数参数类型返回类型描述generate_series(start, stop) int 或 bigint setof int 或 setof bigint(与参数类型相同) 生成一个数值序列,从start 到 stop,步进为一generate_series(start, stop, step) int 或 bigintsetof int 或 setof bigint(与参数类型相同) 生成一个数值序列,从start 到 stop,步进为stepgenerat
阅读全文