1.连接到 PostgreSQL 数据库:

psql -h 主机名/服务器IP -p 端口号 -U 用户名 -d 数据库名

注意:(1)在服务器上本地登录时,可以使用主机名或者本机IP地址进行登录,但是有可能无法使用localhost和127.0.0.1进行登录。

(2)在服务器上本地登录时,可以直接使用psql进行登录,不需要输入其他信息。

2. 列出所有数据库:

\l

3. 切换到指定数据库:

\c 数据库名

4. 查看当前数据库中的所有表:

\dt

5. 查看表的结构:

\d 表名

6.执行SQL查询:

SELECT * FROM 表名;

7. 创建数据库:

CREATE DATABASE 数据库名;

8. 创建表:

CREATE TABLE 表名 (

列名1   数据类型,

列名2   数据类型,

...

);

9. 插入数据到表中:

INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);

10. 更新表中的数据:

UPDATE  表名  SET 列名 = 新值  WHERE  条件;

11. 删除表中的数据:

DELETE FROM 表名 WHERE 条件;

12. 删除表:

DROP TABLE 表名;

13.退出psql:

\q

14. 查看帮助:

\?

15. 查看表空间信息:

\db

16. 查看索引信息:

\d  索引

17. 列出所有角色和用户:

\dg

18. 查看表的权限分配情况

\dp 表名

19. COPY导入导出:

postgres的COPY命令可以快速的导出/导入数据到postgresql数据库中,支持常用的文件格式,如:txt、sql、csv、压缩文件、二进制格式等。特别适合批量导出和导入数据,速度比较快。
COPY TO把一个表的所有内容都拷贝到一个文件;
COPY FROM从一个文件里拷贝数据到一个表里(把数据附加到表中已经存在的内容里)。

注意:COPY只能用于表,不能用于视图。

相关参数:

  • FROM:指定源文件或输入数据流。可以是本地文件路径或服务器文件路径,也可以是一个输入流。如果是一个输入流,则必须使用STDIN关键字。
  • DELIMITER:指定分隔符。默认为制表符(" \t "),可以使用其他字符或字符串。例如:DELIMITER ‘;’ 表示用分号作为分隔符。
  • HEADER:指定是否包含标题行。默认情况下不包含标题行,如果源文件包含标题行,则需要使用HEADER关键字。
  • NULL:指定NULL值的表示方式。默认情况下,需要使用"\N"表示NULL值,如果输入数据使用其他的表示方式,可以使用这个选项。例如:NULL ‘null’ 表示用"null"作为NULL值的表示方法。
  • ENCODING:指定编码方式。默认是UTF8编码。如果需要使用其他编码方式,可以使用ENCODING关键字。例如:ENCODING ‘GBK’ 表示采用GBK编码方式。
  • QUOTE:指定数据中使用的引号。默认情况下,使用双引号(")作为引号。如果输入数据使用其他的引号,可以使用这个选项。例如:QUOTE ‘’’ 表示使用单引号(’)作为引号。
  • ESCAPE:指定转义字符。默认情况下,使用反斜杠("")作为转义字符。如果需要采用其他转义字符,可以使用ESCAPE关键字。例如:ESCAPE ‘|’ 表示使用竖线(|)作为转义字符。
  • FORMAT:输入数据的格式。默认为文本格式(TEXT)。可选的格式包括二进制格式(BINARY)和CSV格式(CSV)。例如:FORMAT binary 表示采用二进制格式。
  • FILENAME:指定输出文件的路径。不是必需的参数,只有在导出数据到文件时才需要使用。
  • ON CONFLICT:指定冲突解决策略。只有在导入数据到表时才需要使用。通常情况下,如果目标表中已经存在要插入的行,会报错。这时,可以使用ON CONFLICT关键字指定冲突解决策略。例如:ON CONFLICT DO NOTHING 表示如果目标表中已经存在要插入的行,则不执行任何操作,跳过这个行;ON CONFLICT DO UPDATE SET 列名=EXCLUDED.列名 表示如果目标表中已经存在要插入的行,则更新该行数据。其中,EXCLUDED表示要插入的行。
  • HEADER:指定表头所在的行数。只有在导入CSV格式文件时才需要使用。默认为1,表示第一行是表头行。如果表头行不是第一行,需要使用HEADER_ROW关键字指定表头所在的行数。例如:HEADER_ROW 2 表示表头位于第二行。
  • FORMAT:指定自定义格式。只有在采用自定义格式时才需要使用。在使用自定义格式时,需要使用FORMAT关键字指定格式类型。例如:FORMAT text 表示要导出的数据是文本格式。

(1)导入

COPY 表名  FROM  ‘文件路径’   DELIMITER  ‘列分隔符’WITH  CSV  HEADER ;

(2)导出

COPY 表名 TO ‘文件路径’ DELIMITER  ‘列分隔符’WITH  CSV;

20. 导入导出数据库:

(1)导出

pg_dump -U <用户名> -c <库名> -f <文件路径>

pg_dump -U postgres -c test -f /home/test.sql

(2)导入

\i <文件路径>

例如:登录到数据库里面去执行;

postgres=# \c test
You are now connected to database "test" as user "postgres".
test=# \i /home/test.sql

21. 导入导出数据表:

(1)导出

pg_dump -U <用户名> -t <表名> <库名> > <文件路径>

库名为:test

表名为:test_tbl

pg_dump -U postgres -t test_tbl test > /home/backup/test_tbl.sql

(2)导入

psql -U <用户名> <库名> < <文件路径>

psql -U postgres test <  /home/backup/test_tbl.sql

PostgreSQL-常用命令汇总的更多相关文章

  1. Postgresql常用命令汇总

    sudo -u postgres psql #进入postgresql ALTER USER postgres WITH password 'postgres'; #修改postgres用户密码 ps ...

  2. 20145222《信息安全系统设计基础》Linux常用命令汇总

    学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不 ...

  3. Oozie命令行常用命令汇总[转]

    Oozie命令行常用命令汇总 有时候脚本跑多了就不愿意在OozieWeb端去看脚本的运行情况了.还好Oozie提供了很多命令行命令.能通过命令行直接检索自己想看到的脚本信息.在这里简单进行一下总结.一 ...

  4. vim常用命令汇总

    vim常用命令汇总: http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 定位 本行第一个字符 ctrl+$ ...

  5. 【Linux】Linux 常用命令汇总

    查看软件xxx安装内容:dpkg -L xxx 查找软件库中的软件:apt-cache search 正则表达式 查找软件库中的软件:aptitude search 软件包 查找文件属于哪个包:dpk ...

  6. Docker笔记:常用命令汇总

    Docker常用命令汇总 启动服务 [root@localhost ~]# service docker start Redirecting to /bin/systemctl start docke ...

  7. [svc][op]vim常用命令汇总

    vim常用命令汇总: 定位 本行第一个字符 ctrl+$ 本行最后一个字符 0gg 文章首行 ctrl+G 文章行尾 u 撤销(Undo) 删除 D 从当前位置删除到行尾 ("d$" ...

  8. PostgreSQL(02): PostgreSQL常用命令

    目录 PostgreSQL(01): Ubuntu20.04/22.04 PostgreSQL 安装配置记录 PostgreSQL(02): PostgreSQL常用命令 PostgreSQL 常用命 ...

  9. Linux&Android相关常用命令汇总记录

    Linux&Android相关常用命令汇总记录 0@Linux&Android系统命令行下如何查看命令的帮助信息: command --help 1@在Linux系统中,设备分为三类, ...

  10. [转] postgresql常用命令

    PS: 数据库安装后,里面的每个数据库有自己的用户密码,需要dump的时候,指定用户pg_dump -U xxx <数据库>  > 某个地址 最近一直在学习Postgresql,下面 ...

随机推荐

  1. uni-app editor富文本编辑器

    https://blog.csdn.net/xudejun/article/details/91508189

  2. Invalid options object. Sass Loader has been initialized using an options obj

    https://blog.csdn.net/liwan09/article/details/106981239

  3. 第65篇 AJAX初识 校验用户名 登录示例 文件上传 csrftoken

    1, 知识储备 2. AJAX的定义 异步的JavaScript和XML 使用场景: JavaScript和后端的数据传递 2.1原生的JavaScript实现AJAX 2.2 JQuery实现 2. ...

  4. cs 保研经验贴 | 英语口试

    很多夏令营都有英语面试环节.但这其实是有迹可循的,多说几遍就熟练了. 无论是笔试面试,还是联系导师 联系 hr,这种自我推销的事情,都会越做越熟练的.希望发表也是如此吧-(来自博零菜鸟的碎碎念-) 目 ...

  5. grpc-环境与示例

    1. 数据传输基本原理 2. grpc环境安装 代码生成器 go get -u github.com/golang/protobuf/protoc-gen-go // 会自动在 $GOPATH/bin ...

  6. 一次异常OOM问题学习跟踪的过程

    摘要 春节后第一周一个项目出现了OOM的问题. 平台研发和产品研发跟踪了接近一周的时间也没有最终确认问题根因. 这里总结一下整个过程, 希望以后在遇到相同问题时会有进一步的结论. 产品的稳定运行离不开 ...

  7. [转帖]MySQL 8.2.0 GA

    https://cloud.tencent.com/developer/article/2353798 MySQL新的进化版8.2.0于2023年10月25日发行,让我们一起快速浏览一下该版本发生哪些 ...

  8. [转帖]从小白到精通:揭秘perf工具的全部功能与操作技巧

    https://zhuanlan.zhihu.com/p/664396453 ​ 目录 收起 一.引言 二.理解perf工具的基本概念 三.安装与配置perf工具 3.1.不同操作系统的perf工具安 ...

  9. [转帖]Optimizing Block Device Parameter Settings of Linux

    https://support.huawei.com/enterprise/en/doc/EDOC1000181485/ddbc0e8b/optimizing-block-device-paramet ...

  10. OpenEuler切换内核的方法-bcc学习后续

    OpenEuler切换内核的方法 摘要 昨天使用OpenEuler 22.03 LTS学习bcc但是一直不行. 没办法切换到CentOS8 还有 Anolis 8 很容易就可以直接还是用了 yum i ...