运维pg数据库(集群)的常用使用方法

pgpool 常用使用方法

-bash-4.1$ pgpool -m fast stop

2017-08-30 17:29:54: pid 2872: LOG:  stop request sent to pgpool. waiting for termination...

.done.

-bash-4.1$

-bash-4.1$ nohup pgpool -n -d > /var/log/pgpool/pgpool.log 2>& 1 &

================================================================

pg_hba.conf 文件解析

# TYPE  DATABASE        USER            ADDRESS                METHOD

host    fintech fintech  192.168.1.0    255.255.255.0            md5

host    fintech fintech  192.168.6.0    255.255.255.0            md5

METHOD 是认证方法:

1.trust        无条件地允许连接,不需要密码即可连接进来

2.reject        无条件地拒绝连接。即拒绝某些主机访问

3.md5 要求客户端提供一个 MD5 加密的口令进行认证,非明文密码

4.password 要求客户端提供一个未加密的口令进行认,明文密码

# ==============

数据库角色

1.创建和删除角色

CREATE ROLE _name_;

DROP ROLE _name_;

2.查看现有角色的集合

postgres=# \du

postgres=# select rolname from pg_roles ;

3.角色授权

CREATE ROLE _name_ LOGIN;  = CREATE USER _name_; CREATE USER 默认赋予 LOGIN

创建超级用户(不建议用):CREATE ROLE _name_ SUPERUSER;

重载配置文件:

-bash-4.1$ /usr/pgsql-9.6/bin/pg_ctl reload -D /var/lib/pgsql/9.6/data/

使用用户登录,需要指定库名,否则默认会登录同用户名的数据库

-bash-4.1$ psql -U=readonly -W  -d mydb

#查看自动提交是否关闭

# mydb=# \echo :AUTOCOMMIT

# # 关闭自动提交

# mydb=# \set AUTOCOMMIT off ;

BEGIN 初始化一个事务块,也就是说所有 BEGIN 命令后的用户语句都将在一个事务里面执行直到给出一个明确的COMMIT或ROLLBACK。 缺省情况下(没有 BEGIN ),PostgreSQL

以"autocommit"模式执行事务,也就是说,每个语句在其自身的事务中执行,并且在语句结束的时候执行了一次隐含的提交。 (如果执行成功则隐含地执行一个提交,否则执行回滚。)

postgres的启动与停止

-bash-4.1$ /usr/pgsql-9.4/bin/pg_ctl  -m fast stop  -D  /var/lib/pgsql/9.4/data

-bash-4.1$ /usr/pgsql-9.4/bin/pg_ctl  -m fast start  -D  /var/lib/pgsql/9.4/data

-- 查看数据库运行时间

SELECT date_trunc('second', CURRENT_TIMESTAMP - pg_postmaster_start_time()) as uptime;

-- 查看启动时间

SELECT CURRENT_TIMESTAMP

--查看所有的库

SELECT * from pg_database;

--查看数据库所占用的磁盘空间大小

--查看当前库的大小

SELECT pg_database_size(current_database())/1024/1024  AS SPACE_SIZE

--查看所有数据库的大小

SELECT sum(pg_database_size(datname))/1024/1024 AS TOTAL_SPACE_SIZE FROM pg_database;

--查看表的大小

SELECT pg_relation_size('a')/1024

-- 查看库中已安装的扩展

SELECT * FROM pg_extension;

-- 查看参数设置

postgres=# show work_mem ;

postgres=# select * from pg_settings where name = 'work_mem';

postgres=# show config_file ;

-[ RECORD 1 ]----------------------------------------

config_file | /var/lib/pgsql/9.6/data/postgresql.conf

-- 获得当前参数非为默认值或从配置文件中获得值

postgres=# select name,source,setting from pg_settings where source != 'default' and source != 'override' order by 2, 1;

===========================

参数配置的主要文件


pg 主库的数据目录下有个recovery.done 文件 其他的备库下有个recovery.conf 文件 如果主库宕机 抢占主库的节点会自动将recovery.conf 文件改名成recovery.done

在启用宕机的原主库前需要将recovery.done 改名成recovery.conf  否则会造成冲突导致集群不能正常启动 

你可能感兴趣的:(运维pg数据库(集群)的常用使用方法)