零、获取监控数据库
select extract(epoch FROM (sysdate - max(t.opttime ))) from ri_action_finish_list t where t.message_type=1 limit 100 offset 0,这个值大于120,报警
也就是最近清理的时间,超过2分钟
一、linux操作
1、登录客户端
cd /opt/app/PostgresPlus/9.3AS/bin
psql -U rimu -W
或
/opt/app/PostgresPlus/9.3AS/bin/psql -U rimu
2、退出客户端
\q
3、隔离级别
显示:show transaction_isolation
设置本次会话级别:set default_transaction_isolation='repeatable read';
设置本次事务级别:set transaction isolation level read committed;
一、创建角色
1、切换到数据库template1 :psql template1(数据库) -U enterprisedb(角色名)
2、创建用户 :create user 用户名 with encrypted password ‘密码’;
3、查看所有角色:\du
4、删除角色:drop role 角色名;
5、退出:\q
二、创建数据库
1、创建数据库:create database 数据库名 OWNER 角色名;
2、创建数据库属组:create schema 数据库名 authorization 数据库名;
3、删除数据库:drop database 数据库名;
4、查看系统中所有数据库:\l
三、数据库信息
1、查看数据库安装路径和数据存放位置: ps -ef|grep Postgre
2、查看数据库版本:su enterprisedb ;psql bam ;select version();
四、linux中执行sql语句
1、到psql目录下:cd /opt/app/PostgresPlus/9.3AS/bin
2、./psql -h ip -p 5444 -U 用户名 数据库名 进去之后再输入密码
一、创建角色
1、切换到数据库template1 :psql template1(数据库) -U enterprisedb(角色名)
2、创建用户 :create user 用户名 with encrypted password ‘密码’;
3、查看所有角色:\du
4、删除角色:drop role 角色名;
5、退出:\q
二、创建数据库
1、创建数据库:create database 数据库名 OWNER 角色名;
2、创建数据库属组:create schema 数据库名 authorization 数据库名;
3、删除数据库:drop database 数据库名;
4、查看系统中所有数据库:\l
三、数据库信息
1、查看数据库安装路径和数据存放位置: ps -ef|grep Postgre
2、查看数据库版本:su enterprisedb ;psql bam ;select version();
四、linux中执行sql语句
1、到psql目录下:cd /opt/app/PostgresPlus/9.3AS/bin
2、./psql -h ip -p 5444 -U 用户名 数据库名 进去之后再输入密码
二、Postgresql 正则表达式
--1、获取航班号
select regexp_replace(SUBSTRING('CA1234A',3),'[A-Z]*','','g');
--2、获取航班后缀
select regexp_replace(SUBSTRING('CA1234A',3),'\d*','','g');
--3、判断奇偶
select case when cast(regexp_replace(SUBSTRING('CA1238A',3),'[A-Z]*','','g') as int)%2=0 then 0 else 1 end
注:标志位g表示全部替换,否则只在第一次匹配进行替换
:~相当于like
测试:
select regexp_replace('CA1234A','[A-Z]*','','g');
select regexp_replace('CA1234A','[0-9]*','','g');
select substring('CA1234A' from '[0-9]+');
三、pg数据库连接不成功问题
一、 FATAL: no pg_hba.conf entry for host----加白名单
1、在/DATA/edb/data_ri/pg_hba.conf配置中加:
host all all 172.27.46.0/24 md5
2、切换用户:su - enterprisedb
3、重载脚本:cd /opt/app/PostgresPlus/9.3AS/bin
./pg_ctl reload
4、重载成功----server signaled,若不成功则需要配置/etc/profile
二、设置pg_ctl命令
pg_ctl 有多种快捷命令,但需要配置下才能直接使用。如遇以下提示,则需要进行配置:
(1)以 root 登录, su - root 输入密码
(2)vi /etc/profile
(3)在此文件中加入 export PGDATA=/opt/app/PostgresPlus/9.2AS/data
(4)在此文件中编辑PATH, PATH后面加入:/opt/app/PostgresPlus/9.2AS/bin
或export PATH=$PATH:/opt/app/PostgresPlus/9.3AS/bin,以免覆盖之前的PATH
( 5)source /etc/profile
效果如下:
三、修改edb用户的密码
1、su enterprisedb
2、psql template1 -U enterprisedb
3、alter user ricz with password ‘abcd’
4、\q
如图:
四、数据库启动
1、cd /opt/app/PostgresPlus/9.3AS/bin
2、./pg_ctl start -D /DATA/edb/data_alg_ca/
3、ps -ef |grep edb
启动时,会遇到”postmaster.pid“已经存在,该文件是当前应用的进程号(pid),把他删掉就好,然后再重启
四、查看edb数据库大小
1、查看所有数据库的大小:
select pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size from pg_database;
2、查看指定表中所有索引大小
select pg_size_pretty(pg_indexes_size('ana_pnr'));
3、查看指定表大小
select pg_size_pretty(pg_relation_size('ana_pnr'));
连接:http://blog.csdn.net/kiwi_kid/article/details/50998428