PostgreSQL最常用的函数-查询(最全)
admin
2024-03-28 04:43:37
0

基本

切换和连接

$ sudo -u postgres psql

列出所有数据库

postgres=# \l

连接到名为 postgres 的数据库

postgres=# \c postgres

断开

postgres=# \q

postgres=# \!

psql 命令

参数

示例

说明

[-d]

psql -d mydb

连接到数据库

-U

psql -U john mydb

以特定用户身份连接

-h -p

psql -h localhost -p 5432 mydb

连接到主机/端口

-U -h -p -d

psql -U admin -h 192.168.1.5 -p 2506 -d mydb

连接远程 PostgreSQL

-W

psql -W mydb

强制密码

-c

psql -c '\c postgres' -c '\dt'

执行 SQL 查询或命令

-H

psql -c "\l+" -H postgres > database.html

生成 HTML 报告

-l

psql -l

列出所有数据库

-f

psql mydb -f file.sql

从文件执行命令

-V

psql -V

打印 psql 版本

获得帮助

\h

SQL 命令语法帮助

\h DELETE

DELETE SQL 语句语法

\?

PostgreSQL 命令列表

在 PostgreSQL 控制台中运行

PostgreSQL 工作

Recon 观察

显示版本

SHOW SERVER_VERSION;

显示系统状态

\conninfo

显示环境变量

SHOW ALL;

列出用户

SELECT rolname FROM pg_roles;

显示当前用户

SELECT current_user;

显示当前用户的权限

\du

显示当前数据库

SELECT current_database();

显示数据库中的所有表

\dt

列出函数

\df

Databases 数据库

列出数据库

\l

连接到数据库

\c

显示当前数据库

SELECT current_database();

创建数据库

CREATE DATABASE WITH OWNER ;

删除数据库

DROP DATABASE IF EXISTS ;

重命名数据库

ALTER DATABASE RENAME TO ;

Tables

列出当前数据库中的表

\dt

SELECT table_schema,table_name FROM information_schema.tables ORDER BY table_schema,table_name;

全局列表

\dt *.*.

SELECT * FROM pg_catalog.pg_tables

列表表架构

\d

\d+

SELECT column_name, data_type, character_maximum_length

FROM INFORMATION_SCHEMA.COLUMNS

WHERE table_name = '';

创建表

CREATE TABLE (

  ,

 

);

创建表,主键自增

CREATE TABLE (

  SERIAL PRIMARY KEY

);

删除表

DROP TABLE IF EXISTS CASCADE;

Permissions 权限

成为 postgres 用户,如果您有权限错误

sudo su - postgres

psql

授予 对数据库的所有权限

GRANT ALL PRIVILEGES ON DATABASE TO ;

授予数据库连接权限

GRANT CONNECT ON DATABASE TO ;

授予架构权限

GRANT USAGE ON SCHEMA public TO ;

授予函数权限

GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO ;

授予在所有表上选择、更新、插入、删除的权限

GRANT SELECT, UPDATE, INSERT ON ALL TABLES IN SCHEMA public TO ;

在表上授予权限

GRANT SELECT, UPDATE, INSERT ON TO ;

授予对表的选择权限

GRANT SELECT ON ALL TABLES IN SCHEMA public TO ;

Columns

添加栏目

ALTER TABLE IF EXISTS

ADD [];

更新栏

ALTER TABLE IF EXISTS

ALTER TYPE [];

删除列

ALTER TABLE IF EXISTS

DROP ;

将列更新为自增主键

ALTER TABLE

ADD COLUMN SERIAL PRIMARY KEY;

使用自动递增的主键插入表中

INSERT INTO

VALUES (DEFAULT, );

INSERT INTO (,)

VALUES ( , );

Data 数据

选择 所有数据

SELECT * FROM ;

读取一行数据

SELECT * FROM LIMIT 1;

搜索数据

SELECT * FROM WHERE = ;

插入 数据

INSERT INTO VALUES( , );

更新 数据

UPDATE

SET = , =

WHERE = ;

删除 所有数据

DELETE FROM ;

删除特定数据

DELETE FROM

WHERE = ;

Users 用户

列出角色

SELECT rolname FROM pg_roles;

创建用户

CREATE USER WITH PASSWORD '';

删除用户

DROP USER IF EXISTS ;

更改 用户密码

ALTER ROLE WITH PASSWORD '';

Schema

列出 Schemas

\dn

SELECT schema_name FROM information_schema.schemata;

SELECT nspname FROM pg_catalog.pg_namespace;

创建架构

CREATE SCHEMA IF NOT EXISTS ;

删除模式

DROP SCHEMA IF EXISTS CASCADE;

PostgreSQL 命令

\d

描述表

\d+

详细描述表格

\dt

列出当前模式中的表

\dt *.*

列出所有模式中的表

\dt .*

列出架构的表

\dp

列出表访问权限

\det[+]

列出外部表

查询缓冲区

\e [FILE]

编辑查询缓冲区(或文件)

\ef [FUNC]

编辑函数定义

\p

显示内容

\r

重置(清除)查询缓冲区

\s [FILE]

显示历史记录或保存到文件

\w FILE

将查询缓冲区写入文件

信息

\l[+]

列出所有数据库

\dn[S+]

列出架构

\di[S+]

列出索引

\du[+]

列出角色

\ds[S+]

列出序列

\df[antw][S+]

列出函数

\deu[+]

列出用户映射

\dv[S+]

列表视图

\dl

列出大对象

\dT[S+]

列出数据类型

\da[S]

列出聚合

\db[+]

列出表空间

\dc[S+]

列出转化

\dC[+]

列出演员表

\ddp

列出默认权限

\dd[S]

显示对象描述

\dD[S+]

列出域

\des[+]

列出国外服务器

\dew[+]

列出外部数据包装器

\dF[+]

列出文本搜索配置

\dFd[+]

列出文本搜索词典

\dFp[+]

列出文本搜索解析器

\dFt[+]

列出文本搜索模板

\dL[S+]

列出程序语言

\do[S]

列出运算符

\dO[S+]

列出排序规则

\drds

列出每个数据库的角色设置

\dx[+]

列出扩展

S:显示系统对象,+:附加细节

连接

\c [DBNAME]

连接到新数据库

\encoding [ENCODING]

显示或设置客户端编码

\password [USER]

更改密码

\conninfo

显示信息

格式化

\a

在未对齐和对齐之间切换

\C [STRING]

设置表格标题,如果没有则取消设置

\f [STRING]

显示或设置未对齐的字段分隔符

\H

切换 HTML 输出模式

\t [on|off]

仅显示行

\T [STRING]

设置或取消设置 HTML

标签属性

\x [on|off]

切换扩展输出

输入输出

\copy ...

导入/导出表 另见: 复制

\echo [STRING]

打印字符串

\i FILE

执行文件

\o [FILE]

将所有结果导出到文件

\qecho [STRING]

输出流的字符串

变量

\prompt [TEXT] NAME

设置变量

\set [NAME [VALUE]]

设置变量 (如果没有参数,则列出所有变量)

\unset NAME

删除变量

杂项

\cd [DIR]

更改目录

\timing [on|off]

切换时间

\! [COMMAND]

在shell中执行

\! ls -l

在shell中列出所有

大对象

  • \lo_export LOBOID FILE
  • \lo_import FILE [COMMENT]
  • \lo_list
  • \lo_unlink LOBOID

各种各样的

备份

使用 pg_dumpall 备份所有数据库

$ pg_dumpall -U postgres > all.sql

使用 pg_dump 备份数据库

$ pg_dump -d mydb -f mydb_backup.sql

  • -a 只转储数据,而不是模式(schema)
  • -s 只转储模式,不转储数据
  • -c 在重新创建之前删除数据库
  • -C 还原前创建数据库
  • -t 仅转储命名表
  • -F 格式(c:自定义,d:目录,t:tar)

使用 pg_dump -? 获取完整的选项列表

恢复

使用 psql 恢复数据库

$ psql -U user mydb < mydb_backup.sql

使用 pg_restore 恢复数据库

$ pg_restore -d mydb mydb_backup.sql -c

  • -U 指定数据库用户
  • -c 在重新创建之前删除数据库
  • -C 还原前创建数据库
  • -e 如果遇到错误退出
  • -F 格式(c:自定义,d:目录,t:tar,p:纯文本sql(默认))

使用 pg_restore -? 获取完整的选项列表

远程访问

获取 postgresql.conf 的位置

$ psql -U postgres -c 'SHOW config_file'

附加到 postgresql.conf

listen_addresses = '*'

附加到 pg_hba.conf(与 postgresql.conf 相同的位置)

host  all  all  0.0.0.0/0  md5

host  all  all  ::/0       md5

重启 PostgreSQL 服务器

$ sudo systemctl restart postgresql

导入/导出 CSV

将表格导出为 CSV 文件

\copy table TO '' CSV

\copy table(col1,col1) TO '' CSV

\copy (SELECT...) TO '' CSV

将 CSV 文件导入表格

\copy table FROM '' CSV

\copy table(col1,col1) FROM '' CSV

ALTER STABLE  table ALTER COLUMN userid TYPE integer USING (userid::integer);    

ALTER STABLE  table ALTER COLUMN reviewerid TYPE int4 USING (reviewerid::integer);

相关内容

热门资讯

新疆旅行社联系方式,新疆旅游八... 宝子们,新疆这片神奇的土地,宛如一颗璀璨的明珠镶嵌在中国的西北边陲。它是中国陆地面积最大的省级行政区...
关于狼的小说 关于狼的小说狼图腾和狼王梦都看过了 最好是像狼图腾那种真实一点的啊《狼火》 ····狼神 ...
推荐几个爱情小说 推荐几个爱情小说让青春距续,经典啊
飞机的螺旋桨有什么用 飞机的螺旋桨有什么用打方向用的,用于调整飞机左右方向。
李玫的简介 李玫的简介李玫对外经济贸易大学教授,博士生导师
一年生见面会暖暖谈吉他 钢炮唱... 一年生见面会暖暖谈吉他 钢炮唱歌的是什么歌讲不出再见 播放歌手:谭咏麟语言:粤语所属专辑:梦幻的笑容...
男生给女生取外号小猪,对女生说... 男生给女生取外号小猪,对女生说你是小猪,我是你的猪头,是什么意思?女生先说男生答应她的某事不做,男生...
米诺多蒂菲主要内容概括 米诺多蒂菲主要内容概括昆虫记米诺多蒂菲内容概括如下:昆虫记米诺多蒂菲内容概括:昆虫米诺多蒂非家族,是...
名人传阅读题,大家帮帮忙啊!!... 名人传阅读题,大家帮帮忙啊!!!1.总结贝多芬的一生,可以用作者的哪句豪言?2.米开朗琪罗的悲剧因为...
校园至尊:王牌男友(全文+番外... 校园至尊:王牌男友(全文+番外)我已经发了,你看下行不行?
我真的很花心吗。? 我真的很花心吗。?你有没有想过她是在考验你的耐性? 既然是不舍就试一下吖, 不试的话以后可能会后悔的...
中华小当家的主角 中华小当家的主角 小当家/ 刘昴星嘟嘟/丁梅丽 港版:赵美莉及第师傅/丁油 港版:赵友四郎 港版:...
为什么现在的鱼有一股柴油味?吃... 为什么现在的鱼有一股柴油味?吃下去对人体有害吗?对人体是有害的,有可能是因为养殖的环境出现柴油,有可...
问道特8怎么不让飞 问道特8怎么不让飞提示说什么飞行状态要有荷叶 大约2200W左右 开封之后只有30天。。白帮忙的月...
这 9道凉拌菜一上桌,全家追着... 厨房里传来"滋啦"一声响,热油浇在辣椒面上的香气瞬间窜出来,馋得客厅里刷手机的小王一个鲤鱼打挺就蹦了...
孩子总喜欢说反话怎么办? 孩子总喜欢说反话怎么办?孩子总喜欢说反话可能是因为他们正处于逆反期,或者想通过这种方式引起关注,表达...
孩子就是不写作业怎么办 孩子就是不写作业怎么办孩子就是不写作业怎么办:1、建立好的家庭作业环境许多孩子都不喜欢自己的房间,总...
有什么好的演讲方面的书籍? 有什么好的演讲方面的书籍? 1、《演讲的艺术》2、《乔布斯的魔力演讲》3、《魏斯曼演讲圣经-说的艺...
哪本书涉及到了希腊神话中的神 哪本书涉及到了希腊神话中的神《荷马史诗》!!! 《荷马史诗》是相传由古希腊盲诗人荷马创作的两部长篇史...
十番锣鼓的简介 十番锣鼓的简介 十番锣鼓的演奏者,多为民间职业性鼓乐班“堂名”中的乐手和寺院中的道士。不少民间艺人分...