avatar

刘刚刚的blog

采菊东篱下,悠然见南山🦥

  • 首页
  • 大模型应用
  • 常用软件/工具
  • Halo
  • 关于
Home psql的使用
文章

psql的使用

Posted 2021-07-11 Updated 2024-12- 17
By Administrator
68~88 min read

psql时postgreSQL的命令行工具,提供了很多sql语法的简写,使用起来更加的方便.


psql的使用模式

psql包括两种使用模式:

  • 交互模式

    # 输入psql进入交互环境
    [postgres@postgresql ~]$ psql 
    psql (12.1, server 12.7)
    Type "help" for help.
    
    postgres=# \l
                                      List of databases
       Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
    -----------+----------+----------+-------------+-------------+-----------------------
     postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
     template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
               |          |          |             |             | postgres=CTc/postgres
     template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
               |          |          |             |             | postgres=CTc/postgres
    (3 rows)
    
    postgres=# exit
  • 非交互模式

    # 在linux的命令行种直接执行命令
    [postgres@postgresql ~]$ psql -l
                                      List of databases
       Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
    -----------+----------+----------+-------------+-------------+-----------------------
     postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
     template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
               |          |          |             |             | postgres=CTc/postgres
     template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
               |          |          |             |             | postgres=CTc/postgres
    (3 rows)
    
    [postgres@postgresql ~]$ 

常用的命令

类别

命令

说明

示例

运行外部sql

psql -f 文件名

帮助

psql -h

类别

命令

说明

示例

帮助

h [sql 命令]

显示sql命令的帮助信息

h create user

显示信息

d [参数]

显示和参数相关的所有信息(包括:表,视图,索引,序列,约束,触发器等)
默认显示所有的表
如果参数为表名,则显示表的结构

d [表名]

d+ [参数]

可以显示比d 更多的信息,比如:字段的注释

dt [参数]

显示相关的表

di [参数]

显示相关的索引

ds [参数]

显示相关的序列

dv [参数]

显示相关的视图

df [参数]

显示相关的函数

dn

列出所有的schema

db

列出所有的表空间

du 或 dg

列出所有的用户和角色,两个命令等价,pg种不区分用户和角色

dp 或 z

显示表的权限的分配情况

显示执行时间

timing on

显示sql的执行时间

字符集

encoding [字符集]

指定客户端的字符集,解决与服务端字符集不一直的情况

encoding utf8

格式化输出

pset

pset border [参数]

0-无边框,1-内边框,2-全部边框

peset border 2

pset format unaligned

修改数据的间隔方式,默认使用 \

作为间隔

pset fieldsep [间隔符]

修改默认的间隔符

pset fieldsep "t"

o [文件名称]

将输出重定向到文件种

o a.txt

t

取消结果种的列头及行数

x

将输出换为按行显示,

运行外部文件

i 文件名

编辑命令

e

进入vim ,编辑上一个执行的命令或者语句,保存后会立即执行.

ef [函数名]

无参数代表创建函数
有参数代表查看函数的定义

ev [视图名]

无参数代表创建视图<br/>有参数代表查看视图的定义

帮助

?

....

psql的使用技巧

  1. 历史命令:使用上下键来查看历史命令

  2. 命令补全: 使用tab键

  3. 取消自动提交的功能:

    • 方法1:语句前写 begin;提交或者回滚时,使用 "commit;"或者"rollback"

    • 方法2: 关闭自动提交功能.\set AUTOCOMMIT off

  4. 显示psql的命令对应的语句

    • 方法1: 启动时加-E参数.

    • 方法2: 使用语句 \set ECHO_HIDDEN on | off

数据库
postgresql
License:  CC BY 4.0
Share

Further Reading

Jul 19, 2021

PostgreSQL中的逻辑结构

在postgresql中,数据的组织结构可以分为:数据库、表与索引(relation)、数据行(tuple)。本问主要介绍了相关的:claster、database、schema、tablespace的概念。 cluster 当启动数据库服务时,不同的文件夹参数即代表不同的cluster: 一个PG

Jul 19, 2021

PostgreSQL中的逻辑结构

在postgresql中,数据的组织结构可以分为:数据库、表与索引(relation)、数据行(tuple)。本问主要介绍了相关的:claster、database、schema、tablespace的概念。

Jul 18, 2021

PostgreSQL中的TOAST

toast技术主要用来解决可变长度数据类型的存储问题。 简介 在PostgreSQL中,页面的大小是固定的(通常是8k),而PostgreSQL不允许数据的分页存储,因此当存储一些大字段时,大字段通常会被压缩或者切片称为多行,存到的系统表 (toast)中。 可变类型数据在表中的存储 在可变长度类型

OLDER

psql的使用

NEWER

PostgreSQL中的TOAST

Recently Updated

  • 文本切分-语义分割(Semantic Chunking)
  • dify 并发配置优化
  • Typing
  • 大模型返回中json_schema与json_mode的区别
  • Async

Trending Tags

Halo 运维 postgresql 设计模式 linux就该这么学 nas rag odoo python 文本切分

Contents

©2025 刘刚刚的blog. Some rights reserved.

Using the Halo theme Chirpy