美文网首页
postgres 常用命令--help

postgres 常用命令--help

作者: eqieyiran | 来源:发表于2021-04-13 15:15 被阅读0次

一 常用命令

1 启动数据库
#方式一
$ postgres -D /usr/local/pgsql/data
#方式二
$ postgres -D /usr/local/pgsql/data >logfile 2>&1 &
#方式三
$ pg_ctl start -l logfile
2 关闭数据库
#方式一 暴力做法,不推荐
$ kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`
 
#方式二 pg_ctl stop [-D datadir] [-m s[mart] | f[ast] | i[mmediate] ] [-W] [-t seconds] [-s]
$ pg_ctl stop
#指定模式smart、fast或immediate 默认模式是fast
$ pg_ctl stop -m smart
 
 
3 重启数据库
$ pg_ctl restart
4 显示服务器状态
$ pg_ctl status
pg_ctl: server is running (PID: 13718)
/usr/local/pgsql/bin/postgres "-D" "/usr/local/pgsql/data" "-p" "5433" "-B" "128"
5 导出数据
#0 备份整个库
$ pg_dump testdb > testdb.sql
#查看导出的过程
$ pg_dump testdb --verbose > testdb.sql
#1 导出单张数据表 
$ pg_dump -t jy_data_part.pj_cllbjdyb_ada0 sip_cloud > pj_cllbjdyb_ada0.sql
#2 导出多张数据表
$ pg_dump -t jy_data_part.pj_clljtxdyb_dza0 -t jy_data_part.pj_clljtxdyb_dza1 -t jy_data_part.pj_clljtxdyb_dza2  sip_cloud > pj_clljtxdyb_dza0.sql
#3 如果表太多执行命令行会报错,可以写一个脚本执行
#!/bin/bash
echo "开始导出..."
 
pg_dump \
-t jy_data_part.pj_cztx \
-t jy_data_part.pj_exclusive_info \
-t jy_data_part.pj_clljtxdyb_dza2 \
-t jy_data_part.pj_ljjgxxb \
-t jy_data_part.pj_ljjgxxb_seq \
-t jy_data_part.pj_outer_part \
-t jy_data_part.pj_pplbjdyb \
-t jy_data_part.pj_pzshljdyb \
-t jy_data_part.pj_recycle_part \
-t jy_data_part.pj_sytxfzxxb \
-t jy_data_part.pj_sytxxxb \
-t jy_data_part.pj_txxxb \
-t jy_data_part.pj_zc_cxdyb \
-t jy_data_part.pj_zd_lbjbzb \
-t jy_data_part.pj_zd_pzbwzdb \
-t jy_data_part.pj_zd_pzcdzdb \
-t jy_data_part.pj_zd_qyzd \
-t jy_data_part.ref_part_flag \
-t jy_data_part.seri_infod \
-t jy_data_part.series_grade_relation sip_cloud > pj_cztx.sql
 
echo "导出结束..."
6 数据导入
$ psql -d yanbao -U root -f /home/postgres/part_material.sql
#数据密码
7 批量执行表授权
select 'grant all on table "' || schemaname || '".' || tablename || ' to yanbao;' from pg_tables
where schemaname = 'jy_data_part'
order by tablename;
8 批量执行创建视图
select 'create view '|| tablename || ' as select * from jy_data_part.' || tablename ||';' from pg_tables
where schemaname = 'jy_data_part'
order by tablename;

二 其他

-bash-4.2$ /usr/pgsql-9.5/bin/pg_basebackup --help
pg_basebackup 在运行的PostgreSQL服务器上执行基础备份.

使用方法:
  pg_basebackup [选项]...

控制输出的选项:
 -D, --pgdata=DIRECTORY 接收基础备份到指定目录
  -F, --format=p|t       输出格式 (纯文本 (缺省值), tar压缩格式)
  -r, --max-rate=RATE    传输数据目录的最大传输速率
                         (单位 kB/s, 也可以使用后缀"k" 或 "M")
  -R, --write-recovery-conf
                         write recovery.conf for replication
  -T, --tablespace-mapping=OLDDIR=NEWDIR
                         将表空间由 OLDDIR 重定位到 NEWDIR
  -x, --xlog             在备份中包含必需的WAL文件(fetch 模式)
  -X, --xlog-method=fetch|stream
                         按指定的模式包含必需的WAL日志文件
      --xlogdir=XLOGDIR  当前事务日志目录的位置
  -z, --gzip             对tar文件进行压缩输出
  -Z, --compress=0-9     按给定的压缩级别对tar文件进行压缩输出

一般选项:
  -c, --checkpoint=fast|spread
                         设置检查点方式(fast或者spread)
  -l, --label=LABEL      设置备份标签
  -P, --progress         显示进度信息
  -v, --verbose          输出详细的消息
  -V, --version          输出版本信息, 然后退出
  -?, --help             显示帮助, 然后退出

联接选项:
  -d, --dbname=CONNSTR        连接串
  -h, --host=HOSTNAME    数据库服务器主机或者是socket目录
  -p, --port=PORT        数据库服务器端口号
  -s, --status-interval=INTERVAL
                         发往服务器的状态包的时间间隔 (以秒计)
  -U, --username=NAME    指定连接所需的数据库用户名
  -w, --no-password      禁用输入密码的提示
  -W, --password         强制提示输入密码 (应该自动发生)


postgres=# \?
一般性
  \copyright            显示PostgreSQL的使用和发行许可条款
  \g [文件] or;     执行查询 (并把结果写入文件或 |管道)
  \gset [PREFIX]     执行查询并把结果存到psql变量中
  \q             退出 psql
  \watch [SEC]          每隔SEC秒执行一次查询

帮助
  \? [commands]          show help on backslash commands
  \? options             show help on psql command-line options
  \? variables           show help on special variables
  \h [名称]          SQL命令语法上的说明,用*显示全部命令的语法说明

查询缓存区
  \e [FILE] [LINE]        使用外部编辑器编辑查询缓存区(或文件)
  \ef [FUNCNAME [LINE]]   使用外部编辑器编辑函数定义
  \p                    显示查询缓存区的内容
  \r                    重置(清除)查询缓存区
  \s [文件]        显示历史记录或将历史记录保存在文件中
  \w 文件          将查询缓存区的内容写入文件

输入/输出
  \copy ...             执行 SQL COPY,将数据流发送到客户端主机
  \echo [字符串]       将字符串写到标准输出
  \i 文件          从文件中执行命令
  \ir FILE               与 \i类似, 但是相对于当前脚本的位置
  \o [文件]        将全部查询结果写入文件或 |管道
  \qecho [字符串]      将字符串写到查询输出串流(参考 \o)

资讯性
  (选项: S = 显示系统对象, + = 其余的详细信息)
  \d[S+]          列出表,视图和序列
  \d[S+]  名称      描述表,视图,序列,或索引
  \da[S]  [模式]    列出聚合函数
  \db[+]  [模式]     列出表空间
  \dc[S+] [PATTERN]      列表转换
  \dC[+]  [PATTERN]      列出类型强制转换
  \dd[S]  [PATTERN]      显示没有在别处显示的对象描述
  \ddp     [模式]    列出默认权限
  \dD[S+] [PATTERN]      列出共同值域
  \det[+] [PATTERN]      列出引用表
  \des[+] [模式]    列出外部服务器
  \deu[+] [模式]     列出用户映射
 \dew[+] [模式]       列出外部数据封装器
   \df[antw][S+] [模式]    列出[只包括 聚合/常规/触发器/窗口]函数 
  \dF[+]  [模式]   列出文本搜索配置
  \dFd[+] [模式]     列出文本搜索字典
 \dFp[+] [模式]     列出文本搜索解析器
  \dFt[+] [模式]   列出文本搜索模版
  \dg[+]  [PATTERN]      列出角色
 \di[S+] [模式]  列出索引
  \dl                   列出大对象, 功能与\lo_list相同
  \dL[S+] [PATTERN]      列出所有过程语言
  \dm[S+] [PATTERN]      列出所有物化视图
  \dn[S+] [PATTERN]     列出所有模式
  \do[S]  [模式]   列出运算符
  \dO[S+] [PATTERN]      列出所有校对规则
  \dp     [模式]     列出表,视图和序列的访问权限
  \drds [模式1 [模式2]] 列出每个数据库的角色设置
  \ds[S+] [模式]    列出序列
  \dt[S+] [模式]     列出表
  \dT[S+] [模式]  列出数据类型
  \du[+]  [PATTERN]      列出角色
  \dv[S+] [模式]   列出视图
  \dE[S+] [PATTERN]      列出引用表
  \dx[+]  [PATTERN]      列出扩展
  \dy     [PATTERN]      列出所有事件触发器
  \l[+]   [PATTERN]      列出所有数据库
  \sf[+] FUNCNAME        显示一个函数的定义
  \z      [模式]    和\dp的功能相同

格式化
  \a                  在非对齐模式和对齐模式之间切换
  \C [字符串]        设置表的标题,或如果没有的标题就取消
  \f [字符串]         显示或设定非对齐模式查询输出的字段分隔符
  \H                    切换HTML输出模式 (目前是 关闭)
  \pset [NAME [VALUE]]   set table output option
                         (NAME := {border|columns|expanded|fieldsep|fieldsep_zero|
                         footer|format|linestyle|null|numericlocale|pager|
                         pager_min_lines|recordsep|recordsep_zero|tableattr|title|
                         tuples_only|unicode_border_linestyle|
                         unicode_column_linestyle|unicode_header_linestyle})
  \t [开|关]       只显示记录 (目前是 关闭)
  \T [字符串]         设置HTML <表格>标签属性, 或者如果没有的话取消设置
  \x [on|off|auto]       切换扩展输出模式(目前是 关闭)

连接
  \c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}
                         连接到新数据库(当前是"postgres")
  \encoding [编码名称] 显示或设定客户端编码
  \password [USERNAME]  安全地为用户更改口令
  \conninfo              显示当前连接的相关信息

操作系统
  \cd [目录]     更改目前的工作目录
  \setenv NAME [VALUE]   设置或清空环境变量
 \timing [开|关]       切换命令计时开关 (目前是 关闭)
  \! [命令]      在 shell中执行命令或启动一个交互式shell

变量
  \prompt [文本] 名称 提示用户设定内部变量
  \set [名称 [值数]] 设定内部变量,若无参数则列出全部变量
  \unset 名称    清空(删除)内部变量

大对象
  \lo_export LOBOID 文件
  \lo_import 文件 [注释]
  \lo_list
  \lo_unlink LOBOID   大对象运算

相关文章

网友评论

      本文标题:postgres 常用命令--help

      本文链接:https://www.haomeiwen.com/subject/fkhclltx.html