pg杂

零、获取监控数据库

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

pg杂_第1张图片

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
效果如下:

pg杂_第2张图片

三、修改edb用户的密码
1、su enterprisedb
2、psql   template1  -U enterprisedb
3、alter user  ricz  with password ‘abcd’
4、\q
如图:

pg杂_第3张图片
四、数据库启动
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

 

你可能感兴趣的:(PostgreSQL)