1、查看当前数据库实例版本。
postgres=# select version(); version ----------------------------------------------------------------------------------------------------------- PostgreSQL 9.3.0 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23), 64-bit (1 row)
2、查看数据库启动时间。
postgres=# select pg_postmaster_start_time(); pg_postmaster_start_time ------------------------------- 2019-08-26 10:53:47.328699+08 (1 row)
3、查看最后load配置文件的时间,可以使用pg_ctl reload改变配置的装载时间。
postgres=# select pg_conf_load_time(); pg_conf_load_time ------------------------------ 2019-08-26 10:53:46.57045+08 (1 row)
4、显示当前数据库时区。
postgres=# show timezone; TimeZone ---------- PRC (1 row)
5、显示数据库的时间,有时数据库的时区不是当前操作系统的时区,这时在数据库中看到的时间就与操作系统中看到的时间不一样。
postgres=# select now(); now ------------------------------- 2019-08-26 10:58:36.508472+08 (1 row)
6、查看当前用户名,current_user与user是完全相同的。
postgres=# select user; current_user -------------- postgres (1 row) postgres=# select current_user; current_user -------------- postgres (1 row)
7、查看session用户,通常情况下,session_user与user是相同的。但使用set role改变用户角色时,session_user始终是那个原始用户,而user是当前的角色用户。
postgres=# select session_user; session_user -------------- postgres (1 row) postgres=# set role=aaa; SET postgres=> select session_user; session_user -------------- postgres (1 row) postgres=> select user; current_user -------------- aaa (1 row)
8、查询当前连接的数据库名称,使用current_catalog和current_database()都显示当前连接的数据库名称,这两者功能完全相同,只不过catalog是SQL标准中的用语。
postgres=# select current_catalog,current_database(); current_database | current_database ------------------+------------------ postgres | postgres (1 row)
9、查看当前session所在客户端的IP地址及端口(仅限TCP-IP连接,如果是UDP连接的话,查询结果IP与port都显示空)。
postgres=# select inet_client_addr(),inet_client_port(); inet_client_addr | inet_client_port ------------------+------------------ | (1 row)
10、查询当前数据库服务器的IP地址及端口(仅限TCP-IP连接,如果是UDP连接的话,查询结果IP与port都显示空)。
postgres=# select inet_server_addr(),inet_server_port(); inet_server_addr | inet_server_port ------------------+------------------ 192.168.91.5 | 5866 (1 row)
11、查询当前session的后台服务进程的PID。
postgres=# select pg_backend_pid(); pg_backend_pid ---------------- 3958 (1 row)
12、查看当前共享内存的大小。
postgres=# show shared_buffers; shared_buffers ---------------- 128MB (1 row)
13、修改当前session参数配置。
postgres=# set maintenance_work_mem to '128MB'; SET postgres=# select set_config('maintenance_work_mem','128MB',false); set_config ------------ 128MB (1 row)
14、查看当前正在写的WAL文件。
postgres=# select pg_xlogfile_name(pg_current_xlog_location()); pg_xlogfile_name -------------------------- 00000001000000000000004B (1 row)
15、查看当前WAL的buffer中还有多少字节的数据没有写到磁盘中。
postgres=# select pg_xlog_location_diff(pg_current_xlog_insert_location(),pg_current_xlog_location()); pg_xlog_location_diff ----------------------- 0 (1 row)
16、查看数据库实例是否正在做基础备份。
postgres=# select pg_is_in_backup(),pg_backup_start_time(); pg_is_in_backup | pg_backup_start_time -----------------+---------------------- f | (1 row)
17、查看当前数据库实例时HOT Standby状态还是正常数据库状态。
postgres=# select pg_is_in_recovery(); pg_is_in_recovery ------------------- f (1 row)
18、查看数据库大小,如果数据库中有很多表,使用上述命令将比较慢,可能对当前系统产生不利影响,pg_size_pretty()函数会把数字以MB、GB等格式显示出来。
postgres=# select pg_database_size('postgres'),pg_size_pretty(pg_database_size('postgres')); pg_database_size | pg_size_pretty ------------------+---------------- 67922104 | 65 MB (1 row)
19、查看表的大小,仅计算表的大小,不包括索引的大小。
postgres=# select pg_size_pretty(pg_relation_size('test')); pg_size_pretty ---------------- 0 bytes (1 row)
20、查看表的大小,pg_total_relation_size()把表上索引的大小也计算入内。
postgres=# select pg_size_pretty(pg_total_relation_size('test')); pg_size_pretty ---------------- 0 bytes (1 row)
21、查看表上所有索引的大小,pg_indexes_size()函数的参数名是一个表对应的oid(输入表名会自动转换成表的oid),而不是索引的名称。
postgres=# select pg_size_pretty(pg_indexes_size('test')); pg_size_pretty ---------------- 0 bytes (1 row)
22、查看表空间大小。
postgres=# select pg_size_pretty(pg_tablespace_size('pg_global')); pg_size_pretty ---------------- 477 kB (1 row)
23、查看表对应的数据文件。
postgres=# select pg_relation_filepath('test'); pg_relation_filepath ---------------------- base/12902/24952 (1 row)
补充:PostgreSQL命令行常用命令psql
PostgreSQL命令行常用命令(psql)
一般我们使用 psql来和数据库交互,方括号中为可选项参数,不带任何参数表示连接本机
psql [option…] [dbname [username]]
登录数据库
psql -h 127.0.0.1 -p 5432 -d database -U postgres
-h 数据库ip
-p 端口号
-d 数据库名
-U 登录用户名
导入SQL脚本
示例:
psql -U postgres -d database -f sqlScript.sql
将sqlScript.sql导入到名为database的数据库中
常用命令
展示数据库
\l 或者 \list
支持正则匹配,例如展示包含post字符的数据库
\l '*post*'
切换数据库(创建新的数据库连接)
\c 可选参数 dbname [ username ] [ host ] [ port ]
eg:
\c postgres 或者 \c postgres username localhost 5432
展示当前数据库下所有关系(table、view、sequence等)
\d 展示当前所有表
\d “Account” 展示Account表字段信息
展示当前数据库下所有schema信息
\dn
显示当前使用的schema
SHOW search_path;
当前schema为public
search_path ---------------- "$user",public
切换当前schema
SET search_path TO myschema; # set search_path to auth; # SHOW search_path; search_path ------------- auth
断开数据库连接
\q
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
postgresql,常用命令
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]