由于AEP EPM所有相关的报表数据(应用运行日志,呼叫清单,会话清单),配置信息等都存在本地PostgreSQL上,了解PostgreSQL的相关基本使用方法,有助于日常运维能力的提升。本篇主要总结如何开启本地登陆,开启远端登陆,基本命令,数据备份和清理。
- 如何开启本地和远端登陆
在EPM安装的过程中,会把PostgreSQL也一并安装掉,过程中会提示输入用户名postgres的密码,以及创建一个报表用户。当时当你本地使用PostgreSQL去登陆数据库时,始终登陆不上;通过PostgreSQL客户端也始终登陆不上,需要进行如下操作来开启本地和远端登陆。
[[email protected] 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 //找到如下部分,修改第一条记录(运行本地登陆)以及新增一条记录(运行远端登陆,记得先备份该配置文件)
改完后:wq保存,然后重启PostgreSQL服务。
-bash-4.1$ exit logout [[email protected] VP-Tools]# service postgresql restart
- 本地和远端登陆验证
[[email protected] 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客户端,配置
登陆成功:
- PostgreSQL 常用命令
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数据备份: [[email protected] VP-Tools]# pg_dump -U postgres VoicePortal >/cpic/craft/postgresdata .20160425.sql Password: //输入完密码后,等待备份完毕。 [[email protected] 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数据恢复: 先清空数据库: [[email protected] 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! ----------------------------------------------------- 开始恢复数据: [[email protected] 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 。。。。。。
时间: 2024-10-29 19:09:47