AVAYA AEP运维之PostgreSQL数据库相关

   因为AEP EPM全部相关的报表数据(应用运行日志,呼叫清单,会话清单),配置信息等都存在本地PostgreSQL上,了解PostgreSQL的相关基本使用方法,有助于平常运维能力的提高。本篇主要总结如何开启本地登录,开启远端登录,基本命令,数据备份和清理。
sql

  •  如何开启本地和远端登录数据库

在EPM安装的过程当中,会把PostgreSQL也一并安装掉,过程当中会提示输入用户名postgres的密码,以及建立一个报表用户。当时当你本地使用PostgreSQL去登录数据库时,始终登录不上;经过PostgreSQL客户端也始终登录不上,须要进行以下操做来开启本地和远端登录。bash

[root@vp142 VP-Tools]# su - postgres
-bash-4.1$ ls
9.0  data  pgstartup.log  SQLscripts
-bash-4.1$ cd data/
-bash-4.1$ vi pg_hba.conf  //找到以下部分,修改第一条记录(运行本地登录)以及新增一条记录(运行远端登录,记得先备份该配置文件)

wKioL1cd1qqD1Sd-AADRaBNkM5s660.jpg

改完后:wq保存,而后重启PostgreSQL服务。session

-bash-4.1$ exit
logout
[root@vp142 VP-Tools]# service postgresql restart


  • 本地和远端登录验证运维

[root@vp142 VP-Tools]# psql -h 127.0.0.1 -U postgres -d VoicePortal
Password for user postgres: 
psql (9.0.15)
Type "help" for help.

VoicePortal=# //本地登录成功

 远端登录:下载PostgreSQL客户端,配置ide

wKiom1cd2IDR_lQEAABctO_taDo748.jpg

登录成功:post

wKioL1cd2UjAFC2hAADLYhEcnLs896.jpg

  • PostgreSQL 经常使用命令this

VoicePortal-# \l    //输出全部数据库
                                   List of databases
    Name     |  Owner   | Encoding |  Collation  |    Ctype    |   Access privil
eges   
-------------+----------+----------+-------------+-------------+----------------
-------
 VoicePortal | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres    | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0   | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres    
 VoicePortal-# \c postgres  //切换到postgres库
You are now connected to database "postgres". 
postgres-# 
VoicePortal-# \d   //显示当前库有哪些表
                      List of relations
 Schema |             Name              |   Type   |  Owner   
--------+-------------------------------+----------+----------
 public | alarmcode                     | table    | postgres
 public | alarmcodelistenerlink         | table    | postgres
 public | alarmcodelistenerlinkdefault  | table    | postgres
 public | alarmhistory                  | table    | postgres
 public | alarmlistener                 | table    | postgres
 public | alarmnotify                   | table    | postgres
 。。。。。。
 VoicePortal-# \d cdr   //查看cdr表的结构
                                            Table "public.cdr"
       Column       |            Type             |                       Modifi
ers                        
--------------------+-----------------------------+-----------------------------
---------------------------
 calltimestamp      | timestamp without time zone | 
 recordid           | integer                     | 
 sessionid          | character varying           | 
 callid             | character varying           | 
 ucid               | character varying           | 
 portid             | integer                     | 
 
 建立数据库: 
create database [数据库名]; 
删除数据库: 
drop database [数据库名];  
*重命名一个表: 
alter table [表名A] rename to [表名B]; 
*删除一个表: 
drop table [表名]; 
*在已有的表里添加字段: 
alter table [表名] add column [字段名] [类型]; 
*删除表中的字段: 
alter table [表名] drop column [字段名]; 
*重命名一个字段:  
alter table [表名] rename column [字段名A] to [字段名B]; 
*给一个字段设置缺省值:  
alter table [表名] alter column [字段名] set default [新的默认值];
*去除缺省值:  
alter table [表名] alter column [字段名] drop default; 
在表中插入数据: 
insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......); 
修改表中的某行某列的数据: 
update [表名] set [目标字段名]=[目标值] where [该行特征]; 
删除表中某行数据: 
delete from [表名] where [该行特征]; 
delete from [表名];--删空整个表 
建立表: 
create table ([字段名1] [类型1] ;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;); 
\copyright     显示 PostgreSQL 的使用和发行条款
\encoding [字元编码名称]
                 显示或设定用户端字元编码
\h [名称]      SQL 命令语法上的说明,用 * 显示所有命令
\prompt [文本] 名称
                 提示用户设定内部变数
\password [USERNAME]
                 securely change the password for a user
\q             退出 psql


  • 数据库备份与恢复
    编码

PostgreSQL数据备份:
[root@vp142 VP-Tools]# pg_dump -U postgres VoicePortal >/cpic/craft/postgresdata
.20160425.sql
Password:    //输入完密码后,等待备份完毕。
[root@vp142 VP-Tools]# ll /cpic/craft/postgresdata.20160425.sql //查看备份文件
-rw-r--r-- 1 root root 4007564 Apr 25 16:57 /cpic/craft/postgresdata.20160425.sql

PostgreSQL数据恢复:
先清空数据库(该脚本清空相关报表数据,并不是系统重要配置信息):
[root@vp142 VP-Tools]# bash PurgeReportDataLocalDB 

Do you wish to purge all your report data?

Press enter to continue, or press control-C to abort this utility

Purging SDR table...
Purging CDR table...
Purging VPAppLog table...
Purging VPPerformance table...
Purging completed!
-----------------------------------------------------
开始恢复数据:
[root@vp142 VP-Tools]# psql -U postgres VoicePortal < /cpic/craft/postgresdata.20160425.sql
Password for user postgres: 
 lowrite 
---------
     535
(1 row)

 lo_close 
----------
        0
(1 row)

COMMIT
。。。。。。
相关文章
相关标签/搜索