database
风雨同舟100
这个作者很懒,什么都没留下…
展开
-
PostgreSQL 递归查询
数据库中的数据存在父子关系(单继承,每一条记录只有一个父亲). 如果要查询一条记录以及他的所有子记录,或者要查询一条记录以及他的所有父记录.那么递归查询就再合适不过了.可以简化复杂的SQL语句现在数据库有一张Place表,用于存放中国的地区信息.CREATE TABLE place( id serial NOT NULL, --转载 2016-05-24 10:44:45 · 463 阅读 · 0 评论 -
sql not in ,in 优化
1.not in用left join代替原sql:select * from yunli_cargos where id not in(select cargoid from yunli_cargo_fee);改为left join:select a.* from yunli_cargos a left join yunli_cargo_fee b on b.cargoid=a.id where ...原创 2018-04-03 11:06:07 · 1432 阅读 · 0 评论 -
postgresql递归查询并将结果拼接
pg由于对大小写不敏感,如果字段中有大写,需要将该字段加双引号,否则自动转为小写查询with RECURSIVE cte as ( select a.id,a.name,a."parentId" from system_area a where id=130000 union all select k.id,k.name,k."parentId" from system_area k ...原创 2018-03-10 20:23:16 · 4529 阅读 · 0 评论 -
常用postgresql命令
1.初始化postgresql数据库 sudo service postgresql initdbInitializing database: [ OK ] 2.启动postgresql服务sudo service postgresql start Starting postgresql service: [ OK ] 3.查看postgresql的服务状态原创 2017-09-05 17:36:58 · 721 阅读 · 0 评论 -
postgresql解决锁表
--查询是否锁表了select oid from pg_class where relname='可能锁表了的表'select pid from pg_locks where relation='上面查出的oid'--如果查询到了结果,表示该表被锁 则需要释放锁定select pg_cancel_backend(上面查到的pid)原创 2017-03-29 18:56:14 · 27098 阅读 · 2 评论 -
postgresql在windows重装后如何重新恢复的方法
postgresql在windows重装后如何重新恢复的方法背景windows系统重装后我们的postgresql服务器就不会正常启动,因为在系统中注册的服务重装后已经没有了,但是你的postgresql不是安装在系统盘区上的,那么postgresql服务器的文件和数据就还是存在的,比如原来的安装目录是D:\PostgreSQL,那么我们怎么让服务器服务自动运行起来,这样我转载 2017-03-10 16:20:21 · 1578 阅读 · 1 评论 -
postgresql 两表更新
update t1 set t1.a=t2.b from t2 where t1.id=t2.id;原创 2016-12-08 12:55:47 · 6650 阅读 · 3 评论 -
postgresql 获取所有表名、字段名、字段类型、注释
获取表名及注释:select relname as tabname,cast(obj_description(relfilenode,'pg_class') as varchar) as comment from pg_class c where relkind = 'r' and relname not like 'pg_%' and relname not like 'sql_%'原创 2016-06-03 11:36:02 · 37568 阅读 · 4 评论 -
postgresql in 优化
原sql:select * from table_a where cid in(select cid from table_b where cname like '%aaaa%');优化sql:select a.* from table_a a,(select cid from table_b where cname like '%aaaa%') b where a.cid=b.cid原创 2016-06-02 13:06:59 · 2191 阅读 · 0 评论 -
PostgreSQL UPDATE 中包含子查询的性能优化
摘要: 一位网友使用update t1 set info=(select info from t2 where t1.id=t2.id) where t1.id一位网友使用update t1 set info=(select info from t2 where t1.id=t2.id) where t1.id9999;这种查询时,发现性能很低。而单独执行时很快的。原因分析:post转载 2016-06-02 12:54:50 · 9480 阅读 · 1 评论 -
PostgreSQL配置优化
硬件和系统配置操作系统Ubuntu13.04系统位数64CPUIntel(R) Core(TM)2 Duo CPU内存4G硬盘Seagate ST2000DM001-1CH164测试工具PostgreSQL-9.1.11测试工具工具名称pgbench转载 2016-06-02 12:36:52 · 271 阅读 · 0 评论 -
POSTGRESQL 数据库导出SQL语句
1、切换到C:\Program Files\PostgreSQL\9.4\bin目录2、在DOS命令行中输入以下语句pg_dump --host hostname --port 5432 --username username -t testtable > /var/www/mytest/1.sql testdb命令解释:pg_dump --host h转载 2016-05-08 15:12:02 · 1905 阅读 · 0 评论 -
postgresql查看死锁
SELECT * FROM pg_stat_activity WHERE datname='数据库名' and waiting='t';原创 2016-05-24 11:08:59 · 4333 阅读 · 0 评论 -
postgresql8.4执行存储过程报语言"plpgsql"不存在
su postgrescreatelang plpgsql 数据库名原创 2016-05-24 11:06:43 · 1363 阅读 · 0 评论 -
Postgresql更改字段类型
ALTER TABLE 表名 ALTER COLUMN 字段名 SET data TYPE integer USING 字段名::integer;原创 2016-05-24 11:05:49 · 7276 阅读 · 2 评论 -
PostgreSQL分区表(Table Partitioning)应用
一、简介 在数据库日渐庞大的今天,为了方便对数据库数据的管理,比如按时间,按地区去统计一些数据时,基数过于庞大,多有不便。很多商业数据库都提供分区的概念,按不同的维度去存放数据,便于后期的管理,PostgreSQL也不例外。 PostgresSQL分区的意思是把逻辑上的一个大表分割成物理上的几块儿。分区不仅能带来访问速度的提升,关键的是,它能带来管理和维护上的方便。转载 2016-05-24 10:49:39 · 384 阅读 · 0 评论 -
修改MySql为允许远程访问
d:\mysql\bin\>mysql -h localhost -u root mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; mysql>FLUSH PRIVILEGES; mysql>EXIT;...原创 2018-07-03 18:51:55 · 679 阅读 · 0 评论