postgres 基本使用

postgres=# help
您正在使用psql, 这是一种用于访问PostgreSQL的命令行界面
键入: copyright 显示发行条款
       h 显示 SQL 命令的说明
       ? 显示 pgsql 命令的说明
       g 或者以分号(;)结尾以执行查询
       q 退出
postgres=# ?
一般性
  copyright            显示PostgreSQL的使用和发行许可条款
  g [文件] or;     执行查询 (并把结果写入文件或 |管道)
  h [名称]          SQL命令语法上的说明,用*显示全部命令的语法说明
  q             退出 psql

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

输入/输出
  copy ...             执行 SQL COPY,将数据流发送到客户端主机
  echo [字符串]       将字符串写到标准输出
  i 文件          从文件中执行命令
  o [文件]        将全部查询结果写入文件或 |管道
  qecho [字符串]      将字符串写到查询输出串流(参考 o)

资讯性
  (选项: S = 显示系统对象, + = 其余的详细信息)
  d[S+]          列出表,视图和序列
  d[S+]  名称      描述表,视图,序列,或索引
  da[+]  [模式]    列出聚合函数
  db[+]  [模式]     列出表空间
  dc[S]  [模式]   列出字元编码转换
  dC     [模式]    列出类型强制转换
  dd[S]  [模式]    显示对象的注释
  dD[S]  [模式]    列出共同值域
  des[+] [模式]    列出外部服务器
  deu[+] [模式]     列出用户映射
 dew[+] [模式]       列出外部数据封装器
   df[antw][S+] [模式]    列出[只包括 聚合/常规/触发器/窗口]函数 
  dF[+]  [模式]   列出文本搜索配置
  dFd[+] [模式]     列出文本搜寻字典
 dFp[+] [模式]     列出文本搜索解析器
  dFt[+] [模式]   列出文本搜索模版
  dg[+]  [模式]      列出角色(或组)
 di[S+] [模式]  列出索引
  dl                   列出大对象, 功能与lo_list相同
  dn[+]  [模式]    列出模式
  do[S]  [模式]   列出运算符
  dp     [模式]     列出表,视图和序列的访问权限
  ds[S+] [模式]    列出序列
  dt[S+] [模式]     列出表
  dT[S+] [模式]  列出数据类型
  du[+]  [模式]    列出角色(用户)
  dv[S+] [模式]   列出视图
  l[+]                列出所有的数据库
  z      [模式]    和dp的功能相同

格式化
  a                  在非对齐模式和对齐模式之间切换
  C [字符串]        设置表的标题,或如果没有的标题就取消
  f [字符串]         显示或设定非对齐模式查询输出的字段分隔符
  H                    切换HTML输出模式 (目前是 关闭)
  pset 名称 [值]  设定表输出选项
                  (名称:= {format|border|expanded|fieldsep|footer|null|
                   recordsep|tuples_only|title|tableattr|pager})
  	 [开|关]       只显示记录 (目前是 关闭)
  T [字符串]         设置HTML <表格>标签属性, 或者如果没有的话取消设置
  x [开|关]             切换扩展输出模式(目前是 关闭)

连接
  c[onnect] [数据库名称|- 用户名称|- 主机|- 端口|-]
                 连接到新的数据库(目前是 "postgres")
  encoding [编码名称] 显示或设定客户端编码
  password [USERNAME]  安全地为用户改变口令

操作系统
  cd [目录]     改变目前的工作目录
 	iming [开|关]       切换命令计时开关 (目前是 关闭)
  ! [命令]      在 shell中执行命令或启动一个交互式shell

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

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

l        查看数据库

postgres=# l
                                     资料库列表
   名称    |  拥有者  | 字元编码 |  排序规则   |    Ctype    |       存取权限        
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | 
 template0 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres
                                                             : postgres=CTc/postgres
 template1 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres
                                                             : postgres=CTc/postgres
(3 行记录)

 q 

  退出

创建数据库

[root@vClass-vhF8p data]# su postgres
bash-4.1$ createdb fronware

数据库备份

pg_dump -U postgres -Fc -d -i fronware > /var/lib/pgsql/otdbfile

数据库恢复

 pg_restore -U postgres -Fc -c -d fronware < /var/lib/pgsql/indbfile

PostgreSQL 连接的问题

一、              
在postgresql的安装文件夹8.3datapg_hba.conf里面(或者在开始菜单程序下面的postgresql的配置文档)
找到“# IPv4 local connections:”(不包括引号,下同)
在它上面添加“local pgsql all trust”,
在它下面的“host all all 127.0.0.1/32 md5”
下面添加一行,内容为“host all all 192.168.91.1/24 md5”
注:127.0.0.1/32和192.168.91.1/24中的32与24,用32表示该IP被固定,用24表示前3位固定,
后面一位可以由自己设,这样,前3位ip地址与该设定相同的计算机就可以访问postgresql数据库。
二、
"PostgreSQL8.3datapostgresql.conf文件中,找到“#listen_addresses = 'localhost'”,把它改成“listen_addresses = '*'”。
"
这样,postgresql就可以监听所有ip地址的连接。
三、 重启postgresql服务。如果系统启用了防火墙,请先关闭。

对了,如果要使用pgadmin连接远程的数据库服务器,须在SSL的选项中选择允许。
原文地址:https://www.cnblogs.com/doscho/p/7340449.html