自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Thornger

明天是未知,希望在今天

  • 博客(48)
  • 资源 (3)
  • 收藏
  • 关注

原创 物理优化之统计信息

优化器、代价估算、物理优化、postgresql、kingbase

2022-04-10 20:22:40 10747

原创 postgresql 查看当前用户名

查看当前连接的用户名: select * from current_user select user

2017-09-13 11:55:39 23182 1

原创 oracle 查看当前登录用户和所有用户

oracle 查看当前用户名 show user select user from dual

2017-09-13 11:53:19 53299 2

原创 vmware虚拟机实现双网卡固定ip

vmware 可以添加两个网卡 一个网卡连接外网:使用NAT 一个网卡用于内网连接,使用主机模式 如何添加两个网卡 1. 2. 3. 虚拟机内部设置 假定条件:你内部网卡配置是正确的 进入网卡设置文件夹/etc/sysconfig/network-scriptscp ifcfg-eth0 ifcfg-eth2

2016-11-11 11:54:44 32980 1

翻译 整型转换规则及注意事项

不合法操作下面的例子中介绍,当使用比int小的类型上使用位操作符时,容易出现的问题。这个例子中,代码的本意是先对port取反,然后向右移动四位。如果这两个操作符都作用在8字节的unsigned integer上时,最终的结果将会是0x0a,但是,操作过程中,port首先会升级为signed int类型,然后可能会产生下面图表中的结果。uint8_t port = 0x5a;uint8_t ...

2019-05-08 15:15:31 2267

翻译 内存溢出之sprintf

sprintf在下面的代码例子中,name可能来自用户输入,文件系统或者网络。程序从字符串构造文件名,为打开文件做准备#include <stdio.h> void func(const char *name) { char filename[128]; sprintf(filename, "%s.txt", name);}因为sprinf函数不保证输入字符...

2019-05-07 18:12:23 3051

翻译 Buffer Overflow之argv

在linux 编程中,我们会遇到这种情况:int main(int argc, char *argv[]) { /* ... */ }参数从命令行中读取到程序的内存中,程序启动的时候调用main函数,命令行保存在argv[0]~argv[argc-1]中,按照惯例,argv[0]表示程序的名称,从argv[1]开始到argv[argc-1]表示程序的参数。因为argv的参数的大小我们无法控制...

2019-05-07 17:43:36 298

原创 Cannot retrieve metalink for repository: epel

Cannot retrieve metalink for repository: epel**我在CentOS中执行`yum grouplist`中遇到了这样的问题:第一种解决方法第二种解决方法我在CentOS中执行yum grouplist中遇到了这样的问题: Error: Cannot retrieve metalink for repository: epel.# yum group...

2019-04-16 16:07:29 430

原创 SearchCatCache

SearchCatCache简介:这个函数查找一个系统缓存来查找一个tuple,如果第一次查找cache的时候,打开对应的表建立一个缓存。 如果没有找到该tuple就会返回一个NULL。如果找到就返回一个指向cache中tuple的指针。 查找键应该作一个Datum类型传入,可以根据提供的宏进行转换如(ObjectIdGetDatum)没有使用的传递0。流程:首先确认该函数必须在一个事务...

2019-01-22 11:10:07 342

原创 PostgreSQL extension 参数

PostgreSQL 是一个高可高扩展的数据库,它提供了一种功能就是把相关的SQL 对象集合成一个包,这个包,在PostgreSQL中被称为一个扩展(extension),为了定义这个扩展(extension),你必须至少需要一个可以创建扩展对象SQL脚本文件,以及一个指定扩展属性控制文件,如果你的扩展(extension)中包含了C语言,你可能还需要一个动态库文件。一旦你具有了这些文件,你就可以利

2017-11-01 20:59:58 1903

原创 SQL基础之数据查询

数据查询是指的将数据库中存储的数据根据用户的需求检索出来。SELECT [ALL | DISTINECT] <列表达式>[,....n]FROM <表名 | 视图名>[WHERE <查询条件表达式>[GROUP BY <列名> [HAVING <条件表达式>][ORDER BY <列名> [ASC | DESC]]; 语义: 根据WHERE 字句的查询表达式,从FROM 字句所制定

2017-10-27 11:46:38 409

原创 makeDefElem函数笔记

makeDefElem("createdb", (Node *)makeInteger(TRUE));创建一个DefElem节点,节点中的defname为createdb,节点的中的arg指向T_Integer的节点。其他的参数defnamespace为NULL,defaction为DEFELEM_UNSPEC。备注: 性子急得同学看看上面就行了makeInteger为创建一个节点,type 为T_

2017-10-26 17:13:16 438

原创 linux 磁盘调度、磁盘类型、top以及iostat 参数笔记

该文章非原创内容摘自不同博客,仅作个人笔记用,博客地址见引用部分利用rotational 查看磁盘类型以及调度方式 前两行查看磁盘调度方式: 当前方式为cfg,调度方式见底部引用最后一行查看磁盘类型: 返回值0即为SSD, 返回1即为HDD。利用iostat查看磁盘利用率rrqm/s:每秒合并读操作的次数,针对相邻的数据块wrqm/s:每秒合并写操作的次数,同上。

2017-10-10 16:11:50 1242

原创 postgresql删除主键

ALTER TABLE tablename DROP CONSTRAINT primaryname。talbename:表示表名 primaryname:表示主键名例子:postgres=# \d c_tab; Table "public.c_tab" Column | Type | Modifiers

2017-10-09 11:08:26 22541 3

原创 postgresql 设置block_size大小

configure的时候增加配置参数 --with-blocksize=32需要的时候将32替换成你需要的值。8或者16

2017-09-27 17:25:17 5086

原创 VARATT_EXTERNAL_GET_POINTER

前言: 在pg存储中有一种格式就是扩展格式,或者成为线外存储,本张解释的宏就是其中的一个。 翻译#define VARATT_EXTERNAL_GET_POINTER(toast_pointer, attr) \do { \ varattrib_1b_e *attre = (varattrib_1b_e *) (attr); \ Assert(VARATT_IS_EXTERNA

2017-03-24 16:15:46 626

原创 errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS reference in /tmp/ccJmra7

现象原因解决方案现象在编写strerror输出错误信息的时候有时候会遇到一下或者类似的情况errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS reference in /tmp/ccJmra71.o原因可能是因为你复制的网上的代码,或者使用了以下代码extern int errno;解决方案将上面代

2017-03-22 14:19:56 4250

翻译 ScanKeyData

ScanKeyData翻译原版ScanKeyData翻译 ScanKey描述了表或者索引以及常量之间比较操作的应用。 当它是ScanKeys的一部分时,它默认为AND。如果是一个二进制操作时,索引列为左操作数 (数据结构也可以支持一元索引操作符,在这种情况下,sk_argument会被省略,但是它现在没有被实现) 对于一个索引扫描来说,sk_strategy和sk_subtype

2017-03-21 18:24:33 1006

原创 PortalSetResultFormat

* PortalSetResultFormat * Select the format codes for a portal's output.

2017-03-21 16:25:52 440

翻译 __BUILTIN_TYPES_COMPATIBLE_P函数

__BUILTIN_TYPES_COMPATIBLE_P

2017-03-20 17:42:27 3364

原创 求最右边的第一个1的数组

求一个字节(8位)表示的数字中查找最右边第一个非0的数字的位置,该数组如何解析呢?static const uint8 rightmost_one_pos[256] = { 0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0,

2017-03-03 09:24:48 457

翻译 postgresql Tuple之t_ctid

翻译当一个tuple保存到硬盘的时候,它的t_ctid被初始化为它的TID(位置信息),如果tuple被更新过,则t_ctid被改变为最新的tuple 替换版本。因此,如果XMAX无效时或者t_ctid指向它自己(如果XMAX有效,此时,tuple要么是被锁定的,要么是被删除的),tuple表示此行的最新版本。这种情况下我们可以追随t_ctid找到此行最新的版本。小心,VACUUM可能会再擦除c_t

2017-02-13 15:57:23 1264

原创 位移实现取下整

在postgresql中有如下定义:(引用于postgresql内核) 表示对ALIGNVAL取整,ALIGNVAL为2的幂。#define TYPEALIGN_DOWN(ALIGNVAL,LEN) \ (((uintptr_t) (LEN)) & ~((uintptr_t) ((ALIGNVAL) - 1)))ALIGNVAL为2的幂,2,4,8等。 本文以4为例子做解释:看宏:

2017-02-13 12:17:24 490

原创 get_hash_entry

函数意思是返回一个HASHELEMENT指针,HASHBUCKET是一个Element指针的宏定义。首先判断现有的freelist中是否有可用的Element,如果有,进入4,否则进入2如果现有的freelist中没有,就试图扩展freelist,如果无法扩展就进入3循环查找现有的freelist(32取模),如果找到了就返回该Element,如果找不到就返回NULL如果有可用的就找到并返回

2017-01-17 17:29:50 446

原创 eclipse边框无法拖动

在使用eclipse时,有时候会遇到这种情况: 鼠标移动到边框,鼠标箭头变成了双向箭头,但是,按住左键却无法拖动。 答案: 你双击以后再拖动试试

2017-01-13 14:45:53 1400

原创 位移实现取模运算

在程序中遇到一个取模运算,列出来让大家共享。 取模的前提是取模值必须为2的幂。文章以取8的模为例:ATT表示任意非负两个字节整形(ATT) & 0x07)经过上面的运算就取得了最后3个字节X X X X X X X X0 0 0 0 0 1 1 1---------------0 0 0 0 0 X X X对于负数,笔者没有做过多的计算,可能存在失误,读者可以自己运算一下。

2017-01-12 14:26:56 3997 1

原创 eclipse CDT无法找到函数引用等

在使用eclipse 编译c、c++程序时,可能会遇到类似与下面的问题。这是因为index没有更新或者果真没有此函数等原因造成。 解决index没更新的办法是重建,重建是要花费很长时间的,所以,我们选择更改某一条代码后就更新一下index。 方法: 1.鼠标右键工程,选择index后就会弹出下面的选项 2.你可以选择重建或者只更新修改的部分(建议选择,因为速度快)这样基本就可以解决问题了

2017-01-11 18:47:50 3345

原创 白话字符编码和字符集

下面解释是使用白话解释。专业属于请参考其他文档 字符 字符代表的是一个字,如:一个英文’A’或者中文’王’ 字符集 字符集表示字符的集合,表示这个集合可以包含的字符的范围。 如:ascii 无法保存汉字,因为它范围不够。 字符编码 字符集的计算机表示形式,表示这个字符集合如何在计算机中表示。 如:一些编码设置2个字节代表一个字符,有些是用1个字节表示一个字符。字符编码指定了你用几个字

2016-11-23 11:11:51 535

原创 directory "*" exists but is not empty

pg_basebackup directory "/home/Thornger" exists but is not empty

2016-11-08 11:40:09 4519

原创 /contrib/contrib-global.mk: No such file or directory

postgresql 安装插件时提示找不到~global.mk当postgresql 安装插件时,遇到了/contrib/contrib-global.mk:打开MakeFileifdef USE_PGXSPG_CONFIG = pg_configPGXS := $(shell $(PG_CONFIG) --pgxs)include $(PGXS)elsesubdir = contrib/

2016-11-07 22:03:29 3342

原创 BackgroundWriterMain代码

基础流程:BackgroundWriterMainBgBuffferSync->SyncOneBuffer-> FlushBuffer()-> smgrwrite()代码解析部分 sigjmp_buf local_sigjmp_buf; //解析:定义错误恢复变量,保存错误后信号 MemoryContext bgwriter_context; //解析:定义内

2016-09-08 19:27:33 976

原创 C语言中位移问题

声明: 本文非原创,转自其他人博客,有个错字,进行修复一下,本人特别讨厌各种复制粘贴,本篇文章只作为自己参考使用,如有侵权,请原作联系本人。博客链接逻辑位移与算数位移 http://www.cnblogs.com/hnrainll/archive/2011/07/06/2099068.html正文 在C语言中,涉及位移的运算符有2个,>>表示右移,<<则表示左移。 而汇编指令中,SHL

2016-07-22 14:41:31 1255

原创 postgresql时间函数j2date

postgresql时间函数

2016-07-19 18:34:49 545

原创 postgresql 时间函数j2day

结构体类型text VarChar BpChar BpChartypedef struct varlena BpChar;typedef struct varlena text;typedef struct varlena BpChar; /* blank-padded char, ie SQL char(n) */typedef struct varlena VarChar; /*

2016-07-19 18:24:03 458

原创 结构体强转联合体笔记

结构体强制转换为联合体笔记 测试代码1int main(){ //首先创建一个联合体,联合体内有两个结构体 typedef union { struct { unsigned int i_ia = 0; char buffer[32] = "a"; } va_4byte;

2016-07-11 17:39:02 914

原创 oracle sqlplus 方向键不能用

安装完oracle后,发现方向键不能用。 当点击方向键时出现一些乱码网上的解决方案是安装rlwrap 确实好用 不过需要在网上下载包,然后编译安装 在下载之前你可以试下search命令yum search rlwrap=====N/SMatched:rlwrap====== rlwrap.x86_64 : Wr

2016-07-05 13:54:47 1179

原创 批量修改postgresql索引大小写

背景:由于项目迁移自别的数据库,索引都带引号,并且大小写区分,迁移到pg中想去掉引号不区分大小写(全是废话,见代码)create or replace function changetolower() returns voidAS$$DECLARE cursse refcursor;iname char(64);iname2 char(64);beginopen cursse for

2016-07-02 11:29:46 1005

原创 sybase安装过程Accessing a corrupted shared library

sybase安装过程中遇到一些问题 当运行./setup.bin时出现错误: ./setup.bin: line 2506: /tmp/install.dir.5624/Linux/resource/jre/bin/java: Accessing a corrupted shared library 网上查到一些资料说是 This error occurs because the ins

2016-06-15 13:05:45 1506

原创 eclipse出现Symbol could not be resolved解决方案

eclipse出现Symbol ‘NULL’ could not be resolved 借鉴老外解决方案:顺便吐槽一下百度垃圾:Here are the details if anybody else has this problem:I could not clear the settings from the Entries tab, but your suggestion got me

2016-04-12 11:36:21 8135 1

原创 PG主从流复制WAL被覆盖解决方式

PostgreSQL的流复制的原理是通过传递主机(master)上的wal日志信息到备机(slave)然后恢复,这中间就有一个潜在的问题,如果主机端比较忙,wal日志被覆盖了,而从机可能因为网络或者其他原因没有接收到该日志,就会造成主从不一致requested WAL segment 0000000100000001000000A has already been removed方式1:archiv

2016-03-14 16:34:02 3807 1

postgis GP6.0可用代码

GP6.0可以使用的postgis2.3.8修改版本,可以编译和安装成功,简单的测试做了,复杂的没有做。有问题可以留言。 注意:一定要提前安装好postgis需要提前安装的软件

2019-01-22

postgresql-windowns下VS2008编程配置

windowns 下vs2008连接postgresql的配置,包括头文件、库等

2014-09-29

oracle occi 编程参考资料

oracle occi编程API和实例,VC环境

2014-09-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除