暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
postgresql速查表.pdf
148
4页
2次
2023-12-20
10墨值下载
PostgreSQL 常用命令速查表
PostgreSQL 是世界上最先进的开源对象-关系型数据库,遵循类 BSD/MIT 的开源协议,以其强大功能、高性能、可靠性以及可扩展性在企业中被广
应用。PostgreSQL 支持各种主流的平台,例如 LinuxBSDAIXHP-UXMac OS X 以及 Windows 等。PostgreSQL 遵循事务的 ACID 原则,高
度兼容 SQL 标准;同时支持自定义数据类型、索引类型、过程语言扩展(PL/pgSQLPL/PythonPL/Java 等)。
角色、用户和组
CREATE USER
name
PASSWORD
'password
';
-- 创建用户
SELECT * FROM pg_user; -- 查看所有用户
SELECT user, current_user; -- 查看当前用户
ALTER USER
name
PASSWORD
'password
’;
-- 修改密码
ALTER USER
name
VALID UNTIL
timestamp
’;
-- 设置密码失效时间
DROP USER [IF EXISTS]
name
; -- 删除用户
GRANT
privilege_list
| ALL -- 授予权限
ON
object_type
TO
user
;
REVOKE
privilege_list
| ALL -- 撤销权限
ON
object_type
FROM
user
;
SELECT * FROM
role_table_grants
; -- 查看表的授权
备注PostgreSQL 角色又包含了两种概念,具有登录权
限的角色称为用户,包含其他成员的角色称为组
group)。因此,以上语句中 USER 关键字可以替换
ROLE 或者 GROUP
数据库和模式
CREATE DATABASE
name
[WITH OWNER =
user
]; -- 创建数据库
SELECT * FROM pg_database; -- 查看数据库
ALTER DATABASE
name
…; -- 修改数据库
DROP DATABASE [IF EXISTS]
name
; -- 删除数据库
postgres=# \dn -- 查看当前数据库中的模式
SELECT * FROM pg_namespace; -- 查看所有模式
CREATE SCHEMA [IF NOT EXISTS]
name
[ AUTHORIZATION
user
]; -- 创建模式
ALTER SCHEMA
name
RENAME TO
new_name
;
ALTER SCHEMA
name
OWNER TO
new_owner
;
-- 修改模式
SHOW search_path; -- 查看模式搜索路径
SET search_path TO
schema1
,
shema2
, …;
-- 设置模式搜索路径
DROP SCHEMA [ IF EXISTS ]
name
; -- 删除模式
连接服务器
psql -h
hostname
-p
port
-U
username dbname
postgres=# \? [
topic
] -- 获取 psql 工具帮助
postgres=# \h
command
; -- 获取 SQL 命令帮助
postgres=# \conninfo -- 显示当前连接信息
postgres=# \l[+] -- 列出所有的数据库
postgres=# \q -- 退出 psql 客户端
SELECT version(); -- 查看服务器版本
SHOW { ALL |
name
} -- 查看运行时参数
SET [ SESSION | LOCAL ]
name
TO {
value
|
'value
' | DEFAULT } -- 设置运行时参数
SELECT pg_reload_conf(); -- 重新加载配置文件
SELECT * FROM pg_stat_activity; -- 查询所有连接
SELECT pg_cancel_backend(
pid
); -- 取消运行中的查询
SELECT pg_terminate_backend(
pid
); -- 终止指定连接
PostgreSQL 常用命令速查表
PostgreSQL 常用的数据类型包括: CHAR(n)VARCHAR(n) TEXT 等字符类型,SMALLINTINTEGERBIGINTNUMERIC (p, s)REAL
DOUBLE PRECISION 等数字类型,DATETIMETIMESTAMP 等日期时间类型。
PostgreSQL 支持 SQL 标准中的所有字段和表级完整性约束,包括:主键约束、外键约束、唯一约束、非空约束、检查约束以及默认值。
管理数据表
ALTER TABLE [IF EXISTS]
name
-- 重命名表
RENAME TO
new_name
;
DROP TABLE [IF EXISTS]
name
; --删除表
ALTER TABLE
table_name
-- 增加约束
ADD CONSTRAINT
table_constraint
;
ALTER TABLE
table_name
--删除约束
DROP CONSTRAINT [IF EXISTS]
name
;
ALTER TABLE
table_name
-- 设置/删除非空约束
ALTER COLUMN
name
{SET | DROP} NOT NULL;
CREATE INDEX
name
ON
table_name
-- 创建索引
(
column1
[ASC | DESC], …);
SELECT * FROM pg_indexes; -- 查看索引
ALTER INDEX
name
RENAME TO
new_name
;
ALTER INDEX
name
SET TABLESPACE
tablespace_name
; -- 修改索引
REINDEX
name
; -- 重建索引
DROP INDEX [IF EXISTS]
name
; -- 删除索引
管理表空间
CREATE TABLESPACE
name
OWNER
user
LOCATION
directory
’; -- 创建表空间
SELECT * FROM pg_tablespace; -- 查看表空间
ALTER TABLESPACE
name
…; -- 修改表空间
DROP TABLESPACE [IF EXISTS]
name
; -- 删除表空间
管理数据表
CREATE TABLE [IF NOT EXISTS]
name
-- 创建表
(
column_name data_type column_constraint,
...,
table_constraint
);
CREATE TABLE [IF NOT EXISTS]
name
-- 复制表
AS SELECT
;
SELECT *
FROM information_schema.tables -- 查看所有的表
WHERE table_type = 'BASE TABLE';
postgres=# \d
table_name
; -- 查看表结构
ALTER TABLE
table_name
-- 增加字段
ADD COLUMN
name data_type column_constraint
;
ALTER TABLE
table_name
-- 修改字段类型
ALTER COLUMN
name
TYPE
data_type
;
ALTER TABLE
table_name
-- 修改字段名称
RENAME COLUMN
name
TO
new_name
;
ALTER TABLE
table_name
DROP COLUMN [IF EXISTS]
name
; -- 删除字段
备份与还原
pg_dump
db_name
>
file_name.sql
-- 备份数据库
pg_dump -Fc
db_name
-f
file_name.dmp
pg_dump -Fd
db_name
-f
file_dir
pg_dump -Ft
db_name
-f
file_name.tar
psql
newdb
-f
file_name.sql
-- 还原数据库
pg_restore -d
newdb file_name.dmp
pg_restore -d
newdb file_dir
pg_restore -d
newdb file_name.tar
pg_dumpall -f
cluster.sql
; -- 备份整个集群
COPY
table_name
FROM
filename
’; -- 导入表
COPY
table_name
TO
filename
’; -- 导出表
of 4
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜