PGSQL语句收集

1.SQL复制原表数据结构

create table au.test1 as select * from au.config where 1=2;

2.在复制的新表中的某列插入原始数据

insert into au.test 1(uuid) select uuid from au.config;

3.将其它列数据复制到新表中

update au.test1 a SET (name) = (select name from config where uuid = a.uuid);

4.将表拥有者赋予c:ALTER TABLE a.a_text OWNER TO c;

5.查询db数据库所占内存大小:select pg_size_pretty(pg_database_size('db'));

6.查询test表所占内存大小:select pg_size_pretty(pg_relation_size('test'));

7.查询数据库中所有表所占内存大小:
SELECT  
    schemaname || '.' || tablename AS table_full_name,  
    pg_size_pretty(pg_total_relation_size('"' || schemaname || '"."' || tablename || '"')) AS size  
FROM pg_tables  
ORDER BY  

    pg_total_relation_size('"' || schemaname || '"."' || tablename || '"') DESC

8.PGXL创建表两种模式:复制模式和分片模式。
CREATE TABLE table_name(...)
DISTRIBUTE BY 
HASH(col)|MODULO(col)|ROUNDROBIN|REPLICATION
TO NODE(nodename1,nodename2...)

### PostgreSQL 数据库使用指南 PostgreSQL 是一种功能强大的开源对象关系型数据库管理系统。为了更好地理解和使用 PostgreSQL,可以从以下几个方面入手: #### 1. 安装与配置 安装 PostgreSQL 后,默认会创建一个名为 `postgres` 的超级用户和同名数据库。可以通过命令行工具 psql 或图形界面客户端连接到该数据库并执行 SQL 查询。 对于初次使用者来说,建议先熟悉基本的管理操作,比如启动/停止服务、修改配置文件(通常位于 `/etc/postgresql/<version>/main/` 下)、设置监听地址及端口号等[^1]。 #### 2. 表结构设计 合理规划表之间的关联方式非常重要。可以利用外键约束来维护数据的一致性和完整性;同时也要注意索引的选择,在频繁查询字段上建立合适的索引能够显著提升读取效率。另外,分区表也是处理大规模数据集的有效手段之一。 #### 3. 性能优化技巧 - **VACUUM**:尽管现代版本已经大大简化了这一过程,但仍需定期运行以回收被删除元组占用的空间,并更新统计信息供查询计划器参考。 - **ANALYZE**:用于收集有关表的数据分布情况的信息,帮助优化器做出更好的决策。一般情况下不需要手动调用此命令,因为自动清理机制会在适当时候触发它。 - **EXPLAIN ANALYZE**:当遇到慢查询时,可借助这个语句查看具体的执行路径及其耗时详情,进而找出瓶颈所在并加以改进[^2]。 ### 常见问题解决方案 针对日常运维过程中可能碰到的一些典型难题,这里列举了几种常见的应对措施: #### 连接失败 如果应用程序无法正常访问 PostgreSQL 实例,则可能是由于防火墙阻止了通信或者认证参数不匹配造成的。此时应检查网络连通性以及 pg_hba.conf 文件中的权限设定是否正确无误。 #### 备份恢策略 制定完善的备份制度至关重要。除了常规的日志归档之外,还应该周期性地导出整个集群的状态快照。一旦发生意外事故,就能迅速回滚至最近一次保存的时间点而不至于造成太大损失。此外,测试过后的还原流程同样不容忽视——确保所有相关人员都清楚如何安全可靠地完成这项工作。 #### 错误日志分析 每当系统抛出异常提示时,务必及时查阅相应的错误日志记录以便定位根源。这些信息往往存储于 data 目录下的 log 子目录里。通过解析其中的关键字或报错码,可以获得关于故障原因的重要线索,从而采取针对性强的技术支持行动。 ```bash tail -f /var/log/postgresql/postgresql.log ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值