Hubert 'depesz' Lubaczewski: Don’t do these things in PostgreSQL

栏目: IT技术 · 发布时间: 6年前

内容简介:In 2018Since then there have been 30 changes, done by nine more people.Based on some conversation onirc I figured I can write a tool to automatically check these rules. Or at least – most of them.

In 2018 Lluad created wiki page with couple of rules about what not to do .

Since then there have been 30 changes, done by nine more people.

Based on some conversation onirc I figured I can write a tool to automatically check these rules. Or at least – most of them.

Currently wiki lists contains 18 rules:

Not all of them can be checked from within database, using SQL queries (for example, Don't use psql -W or –password ). But most can.

So pgWikiDont project was born. To run it, you generally need only to download it, cd to its directory, and run

=$ psql -f pgWikiDont.sql

Output can look like this:

pgWikiDont version 0.2 
 
Your database violates 2 rule(s):
=================================
 
Rule: Don't use money
  details: https://wiki.postgresql.org/wiki/Don't_Do_This#Don.27t_use_money
  You have 1 column(s) that use money datatype:
      - public.z.x
 
Rule: Don't use trust authentication over TCP/IP (host, hostssl)
  details: https://wiki.postgresql.org/wiki/Don't_Do_This#Don.27t_use_trust_authentication_over_TCP.2FIP_.28host.2C_hostssl.29
  You have 4 rule(s) in pg_hba.conf that use TRUST over TCP/IP:
      - host    replication all         127.0.0.1/32          trust
      - host    replication all         ::1/128               trust
      - host    all         all         127.0.0.1/32          trust
      - host    all         all         ::1/128               trust
 
 
 WARNINGS: 
===========
- You don't seem to have pg_stat_statements enabled, so queries can't be checked.

or like this:

pgWikiDont version 0.2 
 
Looks that your database is clean. Congratulations.
===================================================
 
 
 WARNINGS: 
===========
- You don't seem to have pg_stat_statements enabled, so queries can't be checked.
- Can't check for TRUST authentication because your hba file (/etc/postgresql/11/main/pg_hba.conf) is outside of data_directory (/var/lib/postgresql/11/main).

or, hopefully, simply:

pgWikiDont version 0.2 
 
Looks that your database is clean. Congratulations.
===================================================

It doesn't require any special programs or tools – just psql and installed pl/PgSQL language.

I tried hard to make it work on all supported PostgreSQL versions, but bugs can happen. If anything bad would happen, please create issue , or simply reach me onirc.

Hope you'll find it useful.


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Linux内核设计与实现

Linux内核设计与实现

拉芙 / 陈莉君、唐华、张波 / 机械工业出版社 / 2006-1 / 38.00元

《Linux内核设计与实现》基于Linux2.6内核系列详细介绍Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面的内容。主要内容包括:进程管理、系统调用、中断和中断处理程序、内核同步、时间管理、内存管理、地址空间、调试技术等。本书理论联系实践,既介绍理论也讨论具体应用,能够带领读者快速走进Linux内核世界,真正开发内核代码。 本书适合作为高等院校操作系统课程的教材......一起来看看 《Linux内核设计与实现》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具