1.查看当前postgresql有几个数据库 :
SELECT datname FROM pg_database
2.判断数据库test_db是否存在:
SELECT u.datname FROM pg_catalog.pg_database u where u.datname='test_db'
3.查看数据表占用磁盘空间大小:
查看数据表用的磁盘空间大小(单位byte)
select pg_table_size('tb_all_data_manual');
select pg_size_pretty(pg_table_size('tb_all_data_manual'));
数据库:select pg_size_pretty(pg_database_size('postgis'));
表空间:select pg_size_pretty(pg_tablespace_size('pg_default'));
查看某个表的索引所占大小:
select pg_indexes_size('tb_all_data_manual');
查看某个索引的所占大小:
select pg_relation_size('index_tb_all_data_manual_code_timetype_ayearmon');
4.查询是否有某个函数:
select proname from pg_proc where proname like '%geom%';
5.去除字段中的替换所有空白字符。换行 回车 tab 空格:
regexp_replace(cname,'[[:space:]]','','g')或者regexp_replace(name,'\s','','g')
\s表示space
测试,如:select regexp_replace('123
123 21321 3123 ','[[:space:]]','','g')
6.表空间
创建:create tablespace ts_lifc owner postgres location 'E:/PostgreSQL9.2/ts';
查看:select * from pg_tablespace;
select oid,*,pg_tablespace_location(oid) as location from pg_tablespace;
7.把字段作为函数的输入参数
比如根据经纬度坐标生成geo字段值:
update tb_system_poi_data_test set geo=st_geomfromtext(format('POINT(%s %s)',longitude,latitude),4326)
8.数据库相关
template1=# \l 查看系统中现存的数据库
template1=# \q 退出客户端程序psql
template1=# \c 从一个数据库中转到另一个数据库中,如template1=# \c sales 从template1转到sales
template1=# \dt 查看表
template1=# \d 查看表结构
template1=# \di 查看索引
[基本数据库操作]
1). *创建数据库: create database [数据库名];
2). *查看数据库列表: \d
3). *删除数据库: . drop database [数据库名];
创建表: create table ([字段名1] [类型1] <references 关联表名(关联的字段名)>;,[字段名2] [类型2],…<,primary key (字段名m,字段名n,…)>;);
*查看表名列表: \d
*查看某个表的状况: \d [表名]
*重命名一个表: alter table [表名A] rename to [表名B];
*删除一个表: drop table [表名];
9.数据目录介绍
PG_VERSION #pg版本,如10
base/ #每个 database 会在 base 目录下有一个子目录,存储数据库文件
global/ #存放的文件用于存储全局的系统表信息和全局控制信息
pg_commit_ts/ #包含已提交事务的时间
pg_dynshmem/ #包含动态共享内存子系统使用的文件
pg_hba.conf
pg_ident.conf
pg_logical/ #包含逻辑解码的状态数据
pg_multixact/ #包含多事务状态数据(等待锁定的并发事务
pg_notify/ #包含LISTEN/NOTIFY状态数据
pg_replslot/ #包含复制槽数据
pg_serial/ #包含了已经提交的序列化事务的有关信息
pg_snapshots/ #包含导出的快照
pg_stat/ #包含统计子系统的永久文件
pg_stat_tmp/ #包含统计子系统的临时文件
pg_subtrans/ #包含子事务状态数据
pg_tblspc/ #包含表空间的符号链接
pg_twophase/ #包含预备事务的状态文件
pg_wal/ #包含wal日志
pg_xact/
postgresql.auto.conf #一个用于存储由ALTER SYSTEM 设置的配置参数的文件
postgresql.conf
postmaster.opts #一个记录服务器最后一次启动时使用的命令行参数的文件
server.log #pg操作日志,如果有报错也会记录在这里