(1)显示sql语句执行时间
(2)显示postgres中所有的表总数(包含数据库自带的)
select count(*) from pg_tables;
(3)显示用户生成的数据库列表
\d
(4)显示某个表列属性
\d tablename
(5)删除表中所有数据
@H_502_27@delete from tablename --写入日志
Truncate Table tablename --不写入日志
TruncATE TABLE
语法
TruncATE TABLE name
参数
name
注释
TruncATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TruncATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。
如果要删除表定义及其数据,请使用 DROP TABLE 语句。
对于由 FOREIGN KEY 约束引用的表,不能使用 TruncATE TABLE,而应使用不带 WHERE 子句的 DELETE 语句。由于 TruncATE TABLE 不记录在日志中,所以它不能激活触发器。
TruncATE TABLE 不能用于参与了索引视图的表。
示例
下例删除 authors 表中的所有数据。
TruncATE TABLE authors
(6)显示当前用户
\c
(7)显示当前数据库所有用户
\du
(8)创建用户
create user xxx with password 'xxxxxx';
(9)更改用户密码
alter user xxx with password 'yyyy';
(10)更改用户连接
\c database username
(11)更改表名
更改表名称
alter table smallint rename to integer;
alter table smallint rename to integer;
(12)更改列名
更改表列名
alter table integer rename column id to id1;
alter table integer rename column id to id1;
(13)显示日期
show datestyle;
(14)设置日期格式
set datestyle=MDY;
(15)打印详细出错信息
postgres=#
\set VERBOSITY verbose
postgres=#
postgres=#
postgres=# create table (id );
ERROR: Syntax error at or near "(" at character 14
STATEMENT: create table (id );
ERROR: 42601: Syntax error at or near "("
LINE 1: create table (id );
^
LOCATION: scanner_yyerror,scan.l:1044
postgres=#
postgres=#
postgres=# create table (id );
ERROR: Syntax error at or near "(" at character 14
STATEMENT: create table (id );
ERROR: 42601: Syntax error at or near "("
LINE 1: create table (id );
^
LOCATION: scanner_yyerror,scan.l:1044
(16)更改列属性
postgres=# alter table a1 alter column id2 set DATA TYPE int;
(17)查看帮助信息
\h alter table
(18)列显示
\x
(19)创建函数
CREATE OR REPLACE FUNCTION f_value_single()
returns void AS $_$
DECLARE
BEGIN
END;
$_$ language plpgsql;
将表名作为入参
create or replace function count(varchar)
returns bigint
as
$$
select count(*) from quote_ident($1);
$$
language 'sql';
returns bigint
as
$$
select count(*) from quote_ident($1);
$$
language 'sql';
(20)关闭数据库3种模式
SIGTERM 不再允许新的连接,但是允许所有活跃的会话正常完成他们的工作,只有在所有会话都结束任务后才关闭。这是智能关闭。 SIGINT 不再允许新的连接,向所有活跃服务器发送 SIGTERM(让它们立刻退出),然后等待所有子进程退出并关闭数据库。这是快速关闭。 SIGQUIT 令 postgres 向所有子进程发送 SIGQUIT 并且立即退出(所有子进程也会立即退出),而不会妥善地关闭数据库系统。这是立即关闭。这样做会导致下次启动时的恢复(通过重放 WAL 日志)。我们推荐只在紧急的时候使用这个方法。 SIGKILL 此选项尽量不要使用,这样会阻止服务器清理共享内存和信号灯资源,那样的话你只能在启动服务器之前自己手工做这件事。另外,SIGKILL 直接把 postgres 杀掉,而不会等它把信号中继给它的子进程,因此我们还需要手工杀掉每个独立子进程。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。