欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PostgreSQL Tutorial | psql的使用

程序员文章站 2022-03-15 16:33:20
...

本文提供一系列常用的psql命令,能够帮助你快速和高效的从数据库中获取数据。

Connect to PostgreSQL database

1.使用psql 连接到数据库,回车后会提示你输入密码

[[email protected] ~]$ psql -dtest -Upostgres -W
Password for user postgres: 
psql (10.7)
Type "help" for help.

test=#  \q

2.如果你想连接远端的主机,可以使用-h选项

[[email protected] ~]$ psql -h10.110.9.85 -dtest -Upostgres -W
Password for user postgres: 
psql (10.7)
Type "help" for help.

test=# 

3.连接到数据库以后,可以切换到一个新的用户下,原来的连接自动断开。如果你忽略用户名参数,则使用当前用户。

[[email protected] data]$ psql
psql (10.7)
Type "help" for help.

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

4.查看所有的数据库名称

postgres=# \l

5.列出当前数据库下的表

postgres=# \dt

6.查看表描述

postgres=# \d table_name

7.查看当前数据库下所有的schema

postgres=# \dn

  1. 查看当前数据库下所有的函数

postgres=#\df

9.查看当前数据库下所有的视图

postgres=# \dv

10.查看当前数据库下所有的角色

postgres=# \du

11.执行前一条命令
首先查询数据库当前版本

postgres=# SELECT version();
使用\g 执行上一条命令,即SELECT version();
postgres=# \g

12.查看psql所有的命令

postgres=# \?

13.查看特定命令的使用方法
比如, 如果你想知道ALTER TABLE命令的详细信息,可以执行如下命令

postgres=# \h ALTER TABLE

14.开启显示命令执行时间

test=# \timing
Timing is on.
test=# select version();
-------
PostgreSQL 10.7

Time: 83.978 ms
test=# 

15.使用系统编辑器编辑命令

test=# select count(*) from baby;

test=#\e

16.psql支持输出格式化的命令,或者允许自己定制输出的格式
没有边框的列输出

test=#\a

输出HTML格式的文件

test=#\H

17.输出执行结果输出到文件中

test=#\o /tmp/test.out
test=# select version();

18.执行SQL脚本

postgres=# \i sql.sql
                                                 version                   
                              
---------------------------------------------------------------------------
------------------------------
 PostgreSQL 10.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 201506
23 (Red Hat 4.8.5-36), 64-bit
(1 row)

postgres=#