电子商务网站建设主题,国外在线设计平台,如皋网页设计,铁岭新区旅行社电话1#xff0c;安装与配置
#安装
yum install https:....rpm1#xff09;安装目录
bin目录#xff1a;二进制可执行文件目录#xff0c;此目录下有postgres、psql等可执行程序#xff1b;pg_ctl工具在此目录#xff0c;可以通过pg_ctl --help查看具体使用。
conf目录安装与配置
#安装
yum install https:....rpm1安装目录
bin目录二进制可执行文件目录此目录下有postgres、psql等可执行程序pg_ctl工具在此目录可以通过pg_ctl --help查看具体使用。
conf目录
empty
include头文件目录
lib动态库目录如libpq.so
share存放文档和配置模板文件一些扩展包的sql文件在子目录extension下。2数据目录
/var/lib/pgsql/verson/data。ipg_hba.conf认证配置文件
用于配置数据库的远程连接通过加入以下命令行运行任何用户远程连接本数据库连接时需要提供密码。
host replication all 127.0.0.1/32 md5
host replication all 10.99.99.99 md5 # ip为10.99.99.99机器可访问
host all all 0.0.0.0/0 md5 # navicat可访问。md5表示要求客户端提供一个 MD5 加密的口令进行认证。如果改为trust表示无条件地允许联接。iipostgresql.conf主配置文件
所有配置信息在系统视图pg_settings中可查看通过context可知修改相关配置后是否需要重启。
internal 只读参数初始化实例时写死的。postmaster 改变后需要重启。sighup/backend 不需要重启需要向postmaster主进程发送SIGHUP信号让其重启装配配置新的参数。运行pg_ctl reload命令重新装配。superuser 超级用户使用set命令改变。user 普通用户使用set命令改变。
## 连接配置项
listen_addresses * # 默认为localhost这会导致远程主机无法登录数据库。写具体网络ip表示让特定机器登录*表示所有地址都可监听。
port 5432 # pg默认端口为5432。多个pg实例可以设置不同端口。
max_connections #允许数据库连接的最大并发连接数默认100修改后需要重启。通过sqlshow max_connections;也可以查看
superuser_reserved_connections #超级用户连接数。默认为3为防止普通用户消费连接数过多导致超级用户无法连接pg。## 日志配置项
logging_collector on #开启日志收集。pgSQL10已经默认开启
log_directory log #日志目录。日志切换与覆盖有多种方案可配。一是每天生成一个新的日志文件二是日志写满到一定大小开启新文件三是只保留最近7天日志循环覆盖pgSQL10默认模式)。## 内存配置项
shared_buffers 4096MB # min 128kB 共享内存大小主要用于共享数据块。默认值为32MB尽量设置大一些。具体说明见后文讲解。
work_mem 4MB # min 64kB 单个SQL执行、排序、Hash Join时使用的内存执行完毕后释放。设置大一些会提高排序操作效率。具体说明见后文讲解。
max_stack_depth #服务器执行堆栈的最大安全深度默认为2M。如果发现不能运行复杂的函数时可以调高此配置但一个正在运行的递归函数可能会导致pg后台服务进程崩溃慎重设置。iii其它文件
文件/目录作用备注PG_VERSIONpg版本号postmaster.opts记录服务器上次启动的命令行参数base默认表空间的目录下面子目录以对应数据库的OID命名对应OID子目录下存放着这个数据库的表、索引等数据文件。OID通过select oid,datname from pg_database;查询。global一些共享系统表的目录log程序日志目录pg10版本之前未pg_log目录pg_commit_ts视图提交的时间戳数据pg9.5之后pg_walWAL日志的目录在pg10之前此目录是pg_clog oidobjectID行对象标识符 该系统字段只有在创建表时使用了with oids或配置参数default_with_oids的值为真时出现。字段类型也是oid是4字节无符号整数不能提供大数据范围内的唯一性保证因此pg官方不推荐在用户表中使用oid字段。 2psql命令行操作
# 数据库连接 psql命令在postgresql/bin目录下。
# 添加参数-E可以在执行psql快捷命令时同时输出对应sql。也可以通过命令\set ECHO_HIDDEN on|off控制
psql host127.0.0.1 port5432 userpostgres password123456 dbnamepostgres
psql -U postgres -d DB_NAME -h localhost -c select * from user_info
# 数据导出-pg_dump命令
pg_dump hostXX.XX.XX.XX port5432 userXXXX passwordXXXX dbnameXXXXX -t table_name -f table_name.sql
# 数据导出-psql命令
psql hostXX.XX.XX.XX port5432 userXXX passwordXXX dbnameXXX -f table_name.sql常见psql快捷命令通过psql连接数据库后通过“\”开头的快捷命令进行数据库相关操作tab键可补全命令
说明命令备注退出命令行模式\q查看数据库\l小写L切换数据库\c dbName查询当前登录的数据库和用户\cYou are now connected to database “postgres” as user “postgres”查看sql语法help\h create user查看更多命令?查看所有表\d查看结构\d namename可以包含通配符*或?可以是表名、索引、视图、序列、函数。如果使用\d会显示的更详细列出所有schema\dn查看所有表空间\db查看所有角色和用户\du或\dgpg中用户和角色是不区分的查看表权限分配情况\dp或\z查看执行时间\timing on sql语句指定客户端字符编码\encoding gbkutf8执行外部文件的sql命令\i fileName 或 psql -x -f fileName编辑器\e类似vi退出vi后会执行其中输入的内容查看或编辑函数\ef 函数名不加函数名显示函数模板。退出vi后可\reset来清除命令缓冲区数据防止误操作。查看或编辑视图\ev 视图名不加函数名显示视图模板。退出vi后可\reset来清除命令缓冲区数据防止误操作。
3系统命令
1查看版本信息
说明命令查看客户端版本psql --version查看服务器版本详细信息select version();查看服务器版本信息show server_version;查看服务器数字版本信息包括小版号SHOW server_version_num;
2时间相关命令
说明命令备注查看数据库启动时间select pg_postmaster_start_time()查看最后load配置文件的时间select pg_conf_load_time()pg_ctl reload后改变这个时间显示当前数据库时区show timezone时区不一样的情况下数据库时间和操作系统时间不一致。;PRC People’s Republic of China查看当前时间select now()设置时区set time zone ‘GMT’PRC为北京时区查看所有时区的名字SELECT * FROM pg_timezone_names
3其它常用命令
说明命令备注当前连接数据库select current_catalog, current_database();两者结果一样查看pg是否正在做基础备份select pg_is_in_backup(),pg_backup_start_time();查看数据库大小select pg_database_size(ngsoc), pg_size_pretty(pg_database_size(ngsoc));pg_size_pretty会转换成MB\GB等格式展示
4服务启停及原理
1服务启动
直接运行postgres进程
/lwh/postgresql/bin/postgres -D /lwh/data/postgresql #-D指定数据目录,表示后台执行。postgres也可以换成postmaster一回事。如果权限不够在命令前面添加su postgres -c 使用pg_ctl命令启动
/lwh/postgresql/bin/pg_ctl start -D /lwh/data/postgresql #-D指定数据目录2服务停止
直接向运行的postgres主进程发送signal信号
signal信号关机模式描述SIGTERMSmart Shutdown 智能关机服务器将不允许新连接等所有连接断开才关闭数据库SIGINTFast Shutdown 快速关机不再允许新连接并向所有子进程发送 SIGINT 信号让它们立刻退出然后等待子进程退出后关闭数据库SIGQUITImmediate Shutdown 立即关闭立即关闭并退出下次启动时数据库重放WAL日志进行恢复。仅用于紧急情况的关闭。
使用pg_ctl命令停止数据库
#没有权限需要在最前面添加su postgres -c
pg_ctl stop -D dataDir -m smart #对应Smart Shutdown 模式fast对应 Fast Shutdownimmediate 对应 Immediate Shutdown.具体说明可通过--help查看。默认模式是哪个谁知道啊3服务检测是否启动
ps aux | grep /lwh/data/postgresql | grep -v grep | wc -l #返回值不为0表示服务存在
ps aux | grep /lwh/data/postgresql | grep -v grep | awk {print $2} #返回具体的pid表示服务存在
或者
netstat -ntlp | grep 5432 #5432为pg默认端口5备份与还原
分为逻辑备份和物理备份。
1pg_dump/pg_dumpall命令
pg_dumpall是将一个pg集群全部转存到另一个脚本文件sql脚本、归档文件中而pg_dump命令可以选择一个数据库或部份表进行备份。pg_dump结合pg_restore使用能灵活备份和恢复。
2冷备份
最简单的物理备份就是冷备份即停止pg然后拷贝pg的data目录。
3热备份
即不停止数据库进行备份常见的方法有PITR方法、使用文件系统或块设备级别的快照功能完成备份。Linux下最简单的备份方式是使用LVM的快照功能。