大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
postgresql 每天巡检哪些指标
网站的建设成都创新互联专注网站定制,经验丰富,不做模板,主营网站定制开发.小程序定制开发,H5页面制作!给你焕然一新的设计体验!已为成都展览展示等企业提供专业服务。
queue_size可以控制待处理请求队列的大小。默认是设置为-1,意味着无限制。当一个请求到来但队列满了的时候,reject_policy参数可以控制它的行为。默认是abort,会使那个请求失败。设置成caller会使该请求在io线程中执行。
threadpool:
index:
type: fixed
size: 30
queue: 1000
reject_policy: caller
blocking
blocking线程池允许设置一个最小值(min,默认为1)和线程池大小(size,默认为cpu核心数的5倍)。它也有一个等待队列,队列的大小(queue_size )默认是1000,当这队列满了的时候。它会根据定好的等待时间(wait_time,默认是60秒)来调用io线程,如果超时没有执行就会报错。
threadpool:
index:
type: blocking
min: 1
size: 30
wait_time: 30s
1、进入information_schema 数据库(存放了其他的数据库的信息)
use information_schema;
2、查询所有数据的大小:
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables;
3、查看指定数据库的大小:
比如查看数据库home的大小
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='home';
4、查看指定数据库的某个表的大小
比如查看数据库home中 members 表的大小
select concat(round(sum(data_length/1024/10
PostgreSQL自带有一个简易的全文检索引擎,可以实现小规模数据量的全文检索功能。本文我们将引导介绍一下这个功能,对于小数据量的搜索这个功能是足够使用的,而无需搭建额外的ES等重量级的全文检索服务器。
PG的全文检索操作符是 @@ ,当一个 tsvector (文档)和 tsquery (条件)匹配时返回 true ,并且前后顺序无影响:
和普通的SQL查询一样,只要在 WHERE 条件中使用这个符号就代表使用全文检索条件筛选文档了。如:
@@ 操作符支持隐式转换,对于 text 类型可以无需强类型转换( ::tsvector 或 to_tsvector(config_name, text) ),所以这个操作符实际支持的参数类型是这样的:
tsquery 查询条件并不是简单的正则,而是一组搜索术语,使用并且使用布尔操作符 (AND)、 | (OR)和 ! (NOT)来组合它们,还有短语搜索操作符 - (FOLLOWED BY)。更详细的语法参见 此文档 。
此外,PostgreSQL还提供了两个相对简化的版本 plainto_tsquery 和 phraseto_tsquery 。
plainto_tsquery ( plainto_tsquery([ config regconfig, ] querytext text) returns tsquery )用户将未格式化的 text 经过分词之后,插入 符号转为 tsquery :
phraseto_tsquery ( phraseto_tsquery([ config regconfig, ] querytext text) returns tsquery )行为和 plainto_tsquery 行为类似,但是分词之后不是插入 而是 - (FOLLOWED BY):
使用索引可以加快全文检索的速度。对于全文检索来说,可选的索引类型是 GIN (通用倒排索引)和 GIST (通用搜索树),官方文档更推荐使用 GIN索引 。创建一个 GIN 索引的范例:
也可以是一个连接列:
还可以单独创建一个 tsvector 列,为这个列创建索引:
除了普通的 ORDER BY 条件之外,PostgreSQL为全文检索提供了两个可选的排序函数 ts_rank([ weights float4[], ] vector tsvector, query tsquery [, normalization integer ]) returns float4 和 ts_rank_cd([ weights float4[], ] vector tsvector, query tsquery [, normalization integer ]) returns float4 ,以便实现基于 权重 的排序。
此外,对于PostgreSQL 9.6以上的版本还可以使用 RUM index 排序。(注意,这个是扩展,默认不包含)。
PostgreSQL默认的分词字典中并不包含中文分词字典,因此我们必须手工引入。目前一个比较好的项目是 zhparser ,同时这个插件也是阿里云的RDS默认包含的。安装和启用没什么好说的。值得一提的是分词配置参数。
在 CREATE EXTENSION 之后,必须配置分词参数才能正确进行分词和查找,否则什么都查不到。官方文档提供的一个配置策略是:
n,v,a,i,e,l 这几个字母分别表示一种token策略,只启用了这几种token mapping,其余则被屏蔽。具体支持的参数和含义可以用 \dFp+ zhparser 显示:
WITH simple 表示词典使用的是内置的simple词典,即仅做小写转换。根据需要可以灵活定义词典和token映射,以实现屏蔽词和同义词归并等功能。
比如我们看下面这个例子:
可以看到 江淮 这个词组在查询的时候被忽略了,我们启用 j (abbreviation,简称)再看看结果:
所以实际使用中要设置合理的token types,过少将导致搜索结果不准确,过多将导致性能下降。此外,还有一些诸如 短词复合: zhparser.multi_short = f 这一类的控制分词结果的选项,根据实际使用酌情开启。
centos下nginx+postgresql+php+memcached+apc安装与配置具体安装步骤如下:具体安装软件包: 01nginx1/download/nginx-1/pub/source/v9/get/php-5/mirror1213memcache 1/p/memcached/downloads/detail?name=memcached-1/get/memcache-1/get/APC-3.1.9.tgz1.升级系统包yum update 关闭selinux2.nginx安装:安装pcreyum install pcre*解压编译:1tar –zxvf nginx-1.0.13.tar.gz23cd nginx-1.0.1345./configure --prefix=/usr/local/nginx --with-http_flv_module --with-http_stub_status_module --with-pcre6 7make make install01yum install jpeg*0203yum install libjpeg*0405yum install libpng*0607yum install iconv*0809yum install libiconv*1011yum install freetype*1213yum install gd*更改配置文件:vi /usr/local/nginx/conf/nginx.conf去掉下面一段的注释: 01location ~ /.php$ {0203 root html;0405 fastcgi_pass 127.0.0.1:9000;0607 fastcgi_index index.php;0809 fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;1011 include fastcgi_params;1213}45行添加index.php做好这两个操作后启动nginx /usr/local/nginx/sbin/nginx3.postgresql安装安装readlineyum install readline*解压编译:1tar –zxvf postgresql-9.1.2.tar.gz23cd postgresql-9.1.245./configure --prefix=/usr/local/postgresql6 7make make installpostgresql配置:01useradd postgre0203mkdir /home/postgre/data0405chown -R postgre:postgre/usr/local/postgresql/0607chown -R postgre:postgre /home/postgre0809su postgre10/usr/local/postgresql/bin/initdb --encoding=utf8 -D /home/postgre/data4.php安装安装所需软件包 01yum install jpeg*0203yum install libjpeg*0405yum install libpng*0607yum install iconv*0809yum install libiconv*1011yum install freetype*1213yum install gd*解压编译01tar -zxvf php-5.3.10.tar.gz0203cd php-5.3.100405./configure --prefix=/usr/local/php--with-pgsql=/usr/local/postgresql --with-0607gd=/usr --with-jpeg-dir=/usr--with-png-dir=/usr --with-zlib --enable-mb0809string --with-freetype-dir --with-iconv--enable-fpm1011make make install复制php.ini 1cp php.ini-production /usr/local/php/lib/php.ini23cd /usr/local/php/etc/45mv php-fpm.conf.default php-fpm.confvim php-fpm.conf这个配置一般默认就可以启动启动php-fpm/usr/local/php/sbin/php-fpm5.memcached安装安装所需要的软件包:yum install libevent*解压编译:1tar -zxvf memcached-1.4.13.tar.gz23cd memcached-1.4.1345./configure --prefix=/usr/local/memcached67make make install6.memcachedphp插件安装安装所需要的软件包yum install autoconf解压编译 1tar -zxvf memcache-1.5.tgz23cd memcache-1.545/usr/local/php/bin/phpize67./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir配置memcached与php.ini/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/vim /usr/local/php/lib/php.ini查找extension_dir更改路径为/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/添加extension=memcache.so启动memcached:/usr/local/memcached/bin/memcached -d m 20-u root -l localhost -p 11211 启动说明:-d选项是启动一个守护进程,-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,-u是运行Memcache的用户,我这里是root,-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid7.apc插件的安装解压编译安装1tar -zxvf APC-3.1.9.tgz23cd APC-3.1.945/usr/local/php/bin/phpize67./configure --enable-apc --enable-apc-mmap--with-php-config=/usr/local/php/bin/php-config89make make install配置php.ini ls/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/vim /usr/local/php/lib/php.ini在extension=memcache.so下面添加extension=apc.so以及apc.enabled = 1apc.cache_by_default = onapc.shm_segments = 1apc.shm_size = 32apc.ttl = 600apc.user_ttl = 600apc.num_files_hint = 0apc.write_lock = On检测是否安装成功/usr/local/php/bin/php -m grep apc装完后 reboot用phpinfo查看是否都已经加载8.开机自动启动 1becho/usr/local/nginx/sbin/nginx /etc/rc.local23echo /usr/local/php/sbin/php-fpm /etc/rc.local45echo/usr/local/memcached/bin/memcached -d m 20 -u root -l localhost -p11211 /etc/rc.local/b9.防火墙设置vim /etc/sysconfig/iptables开启11211和80端口10.测试脚本 Phpinfo1?php23phpinfo();45?memacache01?php0203$mem = new Memcache;0405$mem-connect(192.168.10.99,11211);0607$mem-set('key', 'This is a test!', 0,60);0809$val = $mem-get('key');1011echo $val;1213?
1、查看当前数据库中所有的模式。
2、如果想查看模式中所有的对象信息,可以通过\d 模式名.* 加上通配符的方式来进行查看。
3、在查看模式中的对象时一般使用的方式都是模式名.对象名的方式。
4、在postgresql中有一个类型于linux系统中$PATH的环境变量search_path,默认情况下它的值是当前数据库值和公共模式值。
5、如果想其它模式也添加在搜索路径中可通过如下命令来进行设置。
6、设置完成后如果我们再访问tec模式下的对象,就不需要再使用模式名.对象名的方式了,直接使用对象名即可进行操作。
你好,删除命令如下:
-bash-3.2$ createdb abc -O playboy
CREATE DATABASE
-bash-3.2$ dropdb abc //dropdb删除数据库
DROP DATABASE
-bash-3.2$ createdb abc -O playboy
CREATE DATABASE
-bash-3.2$ psql -U playboy -d playboy
Welcome to psql 8.1.23, the PostgreSQL interactive terminal.
type: copyright for distribution terms
h for help with SQL commands
? for help with psql commands
g or terminate with semicolon to execute query
q to quit
playboy= drop database abc; //登录后的删除数据库,注意,不能删除当前登录的数据库
DROP DATABASE
删除操作的前提是,你是超级用户,或者是该数据库的拥有者才行。表也一样,pgsql有一点很特别,就是库是你的,表不一定是你的。这个有点搞。