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
。。。。。。
相關文章
相關標籤/搜索