热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

postgresql数据库的常用命令

1.createdb数据库名称产生数据库2.dropdb数据库名称删除数据库3.CREATEUSER用户名称创建用户4.dropUser用户名称删除用户5.SELECTusenameFROMpg_user;查看系统用户信息\du7.SELECTversion();查看版本信息8.psql数据库名打开psql交互

1.createdb 数据库名称
  产生数据库
2.dropdb  数据库名称
  删除数据库

3.CREATE USER 用户名称
  创建用户
4.drop User 用户名称
  删除用户

5.SELECT usename FROM pg_user;
  查看系统用户信息
  \du

7.SELECT version();
  查看版本信息

8.psql 数据库名
  打开psql交互工具

9.mydb=> \i basics.sql
\i 命令从指定的文件中读取命令。

10.COPY weather FROM '/home/user/weather.txt';
   批量将文本文件中内容导入到wether表

11.SHOW search_path;
   显示搜索路径

12.创建用户
   CREATE USER 用户名 WITH PASSWORD '密码'

13.创建模式
   CREATE SCHEMA myschema;

14.删除模式
   DROP SCHEMA myschema;

15.查看搜索模式
   SHOW search_path;

16.设置搜索模式
   SET search_path TO myschema,public;

17.创建表空间
  create tablespace 表空间名称 location '文件路径';

18.显示默认表空间
  show default_tablespace;

19.设置默认表空间
  set default_tablespace=表空间名称;

20.指定用户登录
    psql MTPS  -u

21.显示当前系统时间、
   now()

22.配置plpgsql语言
CREATE LANGUAGE 'plpgsql' HANDLER plpgsql_call_handler

23.删除规则

DROP RULE name ON relation [ CASCADE | RESTRICT ]
输入
name
要删除的现存的规则.

relation
该规则应用的关系名字(可以有大纲修饰).

CASCADE
自动删除依赖于此规则的对象。

RESTRICT
如果有任何依赖对象,则拒绝删除此规则。这个是缺省。

24.日期格式函数
  select 'P'||to_char(current_date,'YYYYMMDD')||'01'

25.产生组
  Create Group 组名称

26.修改用户归属组
  Alter Group 组名称 add user 用户名称

26.为组赋值权限
  grant 操作 On 表名称  to group 组名称:

27.创建角色
  Create Role 角色名称

28.删除角色
  Drop Role 角色名称

29.获得当前postgresql版本
  SELECT version();

30.在linux中执行计划任务
   通过crontab执行
   su root -c "psql -p 5433 -U developer MTPS -c'select test()'"
   developer用户的密码存储于环境变量PGPASSWORD中。

31.查询表是否存在
  select * from pg_statio_user_tables where relname='你的表名';

32.为用户复制SCHEMA权限
  grant all on SCHEMA 作用域名称 to 用户名称

33.整个数据库导出
  pg_dumpall -D -p 端口号 -h 服务器IP -U postgres(用户名) > /home/xiaop/all.bak

34.数据库备份恢复
  psql -h 192.168.0.48 -p 5433  -U postgres

35.当前日期函数
  current_date

36.返回第十条开始的5条记录
select   *   from   tabname   limit   5   offset   10;

37.为用户赋模式权限
Grant   on schema developer  to UDataHouse
38.将字符转换为日期时间
  select  to_timestamp('2010-10-21 12:31:22', 'YYYY-MM-DD hh24:mi:ss')

39.数据库备份
  pg_dumpall   -h 192.168.0.4 -p 5433 -U postgres   >/DataBack/Postgresql2010012201.dmp
  如8.1以后多次输入密码

40.\dn
   查看schema

41.删除schema
  drop schema _clustertest cascade;

42.导出表

  ./pg_dump -p 端口号 -U 用户 -t 表名称 -f 备份文件位置 数据库  ;

43.字符串操作函数
select distinct(split_part(ip,'.',1)||'.'||split_part(ip,'.',2)) from t_t_userip order by (split_part(ip,'.',1)||'.'||split_part(ip,'.',2));

44.删除表主键
alter table 表名 drop CONSTRAINT 主键名称;

45.创建表空间
create tablespace 空间名称 location '路径'

46.查看表结构
select * from information_schema.columns 


    ./postgres -D /usr/local/src/data
or
    ./pg_ctl -D /usr/local/src/data -l logfile start



47.查看数据库大小
SELECT pg_size_pretty(pg_database_size('MTPS')) As fulldbsize;


48.查看数据库表大小
SELECT pg_size_pretty(pg_total_relation_size('developer.t_L_collectfile')) As fulltblsize,
pg_size_pretty(pg_relation_size('developer.t_L_collectfile')) As justthetblsize

49.设置执行超过指定秒数的sql语句输出到日志
log_min_duration_statement = 3

50.超过一定秒数sql自动执行执行计划
shared_preload_libraries = 'auto_explain'
custom_variable_classes = 'auto_explain'
auto_explain.log_min_duration = 4s

51.数据库备份
 select pg_start_backup('backup baseline');
 select pg_stop_backup();

 recovery.conf
 restore_command='cp /opt/buxlog/%f %p'

52.重建索引
 REINDEX { INDEX | TABLE | DATABASE | SYSTEM } name [ FORCE ]
 INDEX
 重新建立声明了的索引。

 TABLE
 重新建立声明的表的所有索引。如果表有个从属的"TOAST"表,那么这个表也会重新索引。

 DATABASE
 重建当前数据库里的所有索引。 除非在独立运行模式下,会忽略在共享系统表上的索引(见下文)。

 SYSTEM
 在当前数据库上重建所有系统表上的索引。不会处理在用户表上的索引。 另外,除了是在单主机模式下,共享的系统表也会被忽略(见下文)。

 name
 需要重建索引的索引,表或者数据库的名称。 表和索引名可以有模式修饰。 目前,REINDEX DATABASE 和 REINDEX SYSTEM 只能重建当前数据库的索引, 因此其参数必须匹配当前数据库的名字。

 FORCE
 这是一个废弃的选项,如果声明,会被忽略。


54.数据字典查看表结构
SELECT column_name, data_type from information_schema.columns where table_name = 'blog_sina_content_train';



52.查看被锁定表
SELECT pg_class.relname AS table, pg_database.datname AS database,  pid, mode, granted
FROM pg_locks, pg_class, pg_database
WHERE pg_locks.relation = pg_class.oid
AND pg_locks.database = pg_database.oid;


53.查看客户端连接情况
SELECT client_addr ,client_port,waiting,query_start,current_query FROM pg_stat_activity;

54.常看数据库.conf配置
show all

55.修改数据库postgresql.conf参数
修改postgresql.conf内容
pg_ctl reload

56.回滚日志强制恢复
pg_resetxlog -f 数据库文件路径


 idvalue  | remark
----------+--------
 33953557 | inser


57.当前日期属于一年中第几周
select EXTRACT(week from TIMESTAMP '2010-10-22');

58.显示最近执行命令
\s

I. SQL 命令
ABORT — 退出当前事务
ALTER AGGREGATE — 修改一个聚集函数的定义
ALTER CONVERSION — 修改一个编码转换的定义
ALTER DATABASE — 修改一个数据库
ALTER DOMAIN — 改变一个域的定义
ALTER FUNCTION — 修改一个函数的定义
ALTER GROUP — 修改一个用户组
ALTER INDEX — 改变一个索引的定义
ALTER LANGUAGE — 修改一个过程语言的定义
ALTER OPERATOR — 改变一个操作符的定义
ALTER OPERATOR CLASS — 修改一个操作符表的定义
ALTER ROLE — 修改一个数据库角色
ALTER SCHEMA — 修改一个模式的定义
ALTER SEQUENCE — 更改一个序列生成器的定义
ALTER TABLE — 修改表的定义
ALTER TABLESPACE — 改变一个表空间的定义
ALTER TRIGGER — 改变一个触发器的定义
ALTER TYPE — 改变一个类型的定义
ALTER USER — 改变数据库用户帐号
ANALYZE — 收集与数据库有关的统计
BEGIN — 开始一个事务块
CHECKPOINT — 强制一个事务日志检查点
CLOSE — 关闭一个游标
CLUSTER — 根据一个索引对某个表集簇
COMMENT — 定义或者改变一个对象的评注
COMMIT — 提交当前事务
COMMIT PREPARED — 提交一个早先为两阶段提交准备好的事务
COPY — 在表和文件之间拷贝数据
CREATE AGGREGATE — 定义一个新的聚集函数
CREATE CAST — 定义一个用户定义的转换
CREATE CONSTRAINT TRIGGER — 定义一个新的约束触发器
CREATE CONVERSION — 定义一个新的的编码转换
CREATE DATABASE — 创建新数据库
CREATE DOMAIN — 定义一个新域
CREATE FUNCTION — 定义一个新函数
CREATE GROUP — 定义一个新的用户组
CREATE INDEX — 定义一个新索引
CREATE LANGUAGE — 定义一种新的过程语言
CREATE OPERATOR — 定义一个新的操作符
CREATE OPERATOR CLASS — 定义一个新的操作符表
CREATE ROLE — define a new database role
CREATE RULE — 定义一个新的重写规则
CREATE SCHEMA — 定义一个新的模式
CREATE SEQUENCE — 创建一个新的序列发生器
CREATE TABLE — 定义一个新表
CREATE TABLE AS — 从一条查询的结果中定义一个新表
CREATE TABLESPACE — 定义一个新的表空间
CREATE TRIGGER — 定义一个新的触发器
CREATE TYPE — 定义一个新的数据类型
CREATE USER — 创建一个新的数据库用户帐户
CREATE VIEW — 定义一个视图
DEALLOCATE — 删除一个准备好的查询
DECLARE — 定义一个游标
DELETE — 删除一个表中的行
DROP AGGREGATE — 删除一个用户定义的聚集函数
DROP CAST — 删除一个用户定义的类型转换
DROP CONVERSION — 删除一个用户定义的编码转换
DROP DATABASE — 删除一个数据库
DROP DOMAIN — 删除一个用户定义的域
DROP FUNCTION — 删除一个函数
DROP GROUP — 删除一个用户组
DROP INDEX — 删除一个索引
DROP LANGUAGE — 删除一个过程语言
DROP OPERATOR — 删除一个操作符
DROP OPERATOR CLASS — 删除一个操作符表
DROP ROLE — 删除一个数据库角色
DROP RULE — 删除一个重写规则
DROP SCHEMA — 删除一个模式
DROP SEQUENCE — 删除一个序列
DROP TABLE — 删除一个表
DROP TABLESPACE — 删除一个表空间
DROP TRIGGER — 删除一个触发器定义
DROP TYPE — 删除一个用户定义数据类型
DROP USER — 删除一个数据库用户帐号
DROP VIEW — 删除一个视图
END — 提交当前的事务
EXECUTE — 执行一个准备好的查询
EXPLAIN — 显示语句执行规划
FETCH — 用游标从查询中抓取行
GRANT — 定义访问权限
INSERT — 在表中创建新行
LISTEN — 监听一个通知
LOAD — 装载或重载一个共享库文件
LOCK — 明确地锁定一个表
MOVE — 重定位一个游标
NOTIFY — 生成一个通知
PREPARE — 创建一个准备好的查询
PREPARE TRANSACTION — 为当前事务做两阶段提交的准备
REINDEX — 重建索引
RELEASE SAVEPOINT — 删除一个前面定义的保存点
RESET — 把一个运行时参数值恢复为缺省值
REVOKE — 删除访问权限
ROLLBACK — 退出当前事务
ROLLBACK PREPARED — 取消一个早先为两阶段提交准备好的事务
ROLLBACK TO — 回滚到一个保存点
SAVEPOINT — 在当前事务里定义一个新的保存点
SELECT — 从表或视图中取出若干行
SELECT INTO — 从一个查询的结果中定义一个新表
SET — 改变运行时参数
SET CONSTRAINTS — 设置当前事务的约束检查模式
SET ROLE — set the current user identifier of the current session
SET SESSION AUTHORIZATION — 为当前会话设置会话用户标识符和当前用户标识符
SET TRANSACTION — 设置当前事务的特性
SHOW — 显示运行时参数的数值
START TRANSACTION — 开始一个事务块
TRUNCATE — 清空一个或者一堆表
UNLISTEN — 停止监听通知信息
UPDATE — 更新一个表中的行
VACUUM — 垃圾收集以及可选地分析一个数据库
II. 客户端应用
clusterdb — 对一个PostgreSQL数据库进行建簇
createdb — 创建一个新的 PostgreSQL 数据库
createlang — 定义一种新的 PostgreSQL 过程语言
createuser — 定义一个新的 PostgreSQL 用户帐户
dropdb — 删除一个现有 PostgreSQL 数据库
droplang — 删除一种 PostgreSQL 过程语言
dropuser — 删除一个 PostgreSQL 用户帐户
ecpg — 嵌入的 SQL C 预处理器
pg_config — 检索已安装版本的 PostgreSQL 的信息
pg_dump — 将一个PostgreSQL数据库抽出到一个脚本文件或者其它归档文件中
pg_dumpall — 抽出一个 PostgreSQL 数据库集群到脚本文件中
pg_restore — 从一个由 pg_dump 创建的备份文件中恢复 PostgreSQL 数据库。
psql — PostgreSQL 交互终端
vacuumdb — 收集垃圾并且分析一个PostgreSQL 数据库
III. PostgreSQL 服务器应用
initdb — 创建一个新的 PostgreSQL数据库集群
ipcclean — 从失效的PostgreSQL服务器中删除共享内存和信号灯
pg_controldata — 显示一个 PostgreSQL 集群的控制信息
pg_ctl — 启动,停止和重起 PostgreSQL
pg_resetxlog — 重置一个 PostgreSQL 数据库集群的预写日志以及其它控制内容
postgres — 以单用户模式运行一个 PostgreSQL服务器
postmaster — PostgreSQL多用户数据库服务器

59.导出数据库角色

 /data/pgsql/bin/pg_dumpall -p 5432 -U postgres -r >/tmp/postgres_8.3_role.bak

60.修改sequence所有者

 grant all on sequence名称 to 所有者;

61.修改sequence初始值

Alter SEQUENCE  sequencename START  value;

62.查看sequence当前值

SELECT currval('sequencename');

63.查看sequence下一值

SELECT nextval('sequencename');

64.设置sequence当前值

 alter SEQUENCE  sequencename  restart with  startvalue;

SELECT nextval('sequencename');


65.查询表结构


SELECT a.attnum,a.attname AS field,t.typname AS type,a.attlen AS length,a

.atttypmod AS lengthvar,a.attnotnull AS notnull

FROM pg_class c,pg_attribute a,pg_type t

WHERE c.relname=表名称and  a.attnum > 0  and  a.attrelid = c.oid and a

.atttypid = t.oid


66.将查询结果直接输出到文件


在psql中

\o 文件路径

select datname,rolname from pg_database  a left outer join pg_roles b on a.datdba=b.oid ;

\o

67.查询数据库所有则

select datname,rolname from pg_database  a left outer join pg_roles b on a.datdba=b.oid ;


68.结束正在执行的事务


SELECT * from  pg_stat_activity;

select pg_cancel_backend('procpid');

60.结束session

SELECT * from  pg_stat_activity;

select  pg_terminate_backend('procpid');

61.postgresql取消转义字符功能

 将postgresql.conf文件中的standard_conforming_strings设置为on


62.查询正在执行SQL


SELECT 
    procpid, 
    start, 
    now() - start AS lap, 
    current_query 
FROM 
    (SELECT 
        backendid, 
        pg_stat_get_backend_pid(S.backendid) AS procpid, 
        pg_stat_get_backend_activity_start(S.backendid) AS start, 
       pg_stat_get_backend_activity(S.backendid) AS current_query 
    FROM 
        (SELECT pg_stat_get_backend_idset() AS backendid) AS S 
    ) AS S 
WHERE 
   current_query <> '
ORDER BY 
   lap DESC;


推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
author-avatar
翌佳际_984
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有