Today I discovered "lnav"or the Log Navigator cli utility. It is a truly awesome log follower and navigator for the terminal which works beautifully with PostgreSQL log files.

#postgres #postgresql #debugging #sql #plpgsql #lnav #logs #logging #rdbms #system #administration

https://www.youtube.com/watch?v=Su6aUb2yM1g&t=64s

Introduction to lnav

YouTube
Asynchronous PostgreSQL Procedures: Achieving Non-Blocking Execution with LISTEN/NOTIFY
Learn how to achieve asynchronous behavior in PostgreSQL using the LISTEN/NOTIFY mechanism for long-running tasks & optimize database operations. Asynchronous PostgreSQL Procedures improve resource management & scalability. #PostgreSQL #AsyncProgramming #LISTENNOTIFY #DatabaseOptimization #AsynchronousProcedures #PLpgSQL
https://tech-champion.com/database/asynchronous-postgresql-procedures-achiev...

Опыт разработки на доработанном pgTap

В этой статье я поделюсь своим опытом разработки юнит-тестов внутри базы данных под управлением PostgreSQL. А также расскажу, зачем мне потребовалось доработать расширение pgTap. pgTap – это расширение PostgreSQL для разработки юнит-тестов. Сами тесты, как, собственно, и pgTap, пишутся на plpgSQL, что означает низкий порог вхождения для разработчиков PG. Уверен, что читатель, по крайней мере, знаком с техникой разработки через тесты. Поэтому не буду пускаться в описание теории юнит-тестирования. Благо литературы на эту тему более чем достаточно. Тем не менее, чтобы быть понятым, приведу некоторые детали ниже.

https://habr.com/ru/companies/gnivc/articles/877314/

#unittesting #plpgsql #sql #pgtap #бд #базы_данных #postgresql

Опыт разработки на доработанном pgTap

В этой статье я поделюсь своим опытом разработки юнит-тестов внутри базы данных под управлением PostgreSQL. А также расскажу, зачем мне потребовалось доработать расширение pgTap. pgTap – это...

Хабр

Диаграммы классов UML из PostgreSQL. Окончание

Это вторая часть статьи, в которой обсуждаются вспомогательные функции, использующиеся функциями предназначенными для непосредственного формирования PlantUML-скриптов. Основные процедур и функции обсуждались в первой части статьи . Здесь же присутствует контрольный пример с таблицами, которые использовались для демонстрации функций.

https://habr.com/ru/articles/841926/

#plantuml #trac #plpgsql

Диаграммы классов UML из PostgreSQL. Окончание

Статья продолжает знакомить с функциями для документирования баз данных PostgreSQL . Но на этот раз речь пойдет о специальных функциях, подготавливающих описания диаграмм классов на языке PlantUML. В...

Хабр

Диаграммы классов UML из PostgreSQL. Часть первая

Статья продолжает знакомить с функциями для документирования баз данных PostgreSQL . Но на этот раз речь пойдет о специальных функциях, подготавливающих описания диаграмм классов на языке PlantUML. В качестве основного средства документирования выбрана система управления проектами TRAC с подключенным плагином plantuml.

https://habr.com/ru/articles/841776/

#plantuml #trac #plpgsql

Диаграммы классов UML из PostgreSQL. Часть первая

Статья продолжает знакомить с функциями для документирования баз данных PostgreSQL . Но на этот раз речь пойдет о специальных функциях, подготавливающих описания диаграмм классов на языке PlantUML. В...

Хабр
@duggan
Tell me more about the #plpgsql problem?

I would like to know who designed PL/pgSQL & how they thought that was a good idea? I spent literally the entire afternoon Googling for how to return a single-row query.

Turns out you have to:

1. create a named type for your return value 🙄
2. declare a variable of that type in a special DECLARE block which you will later return 😖
3. SELECT ... INTO <return-variable> 🤬 (and then RETURN your variable)

The Internet's also chock-full of suggestions that don't work. #postgres #postgresql #plpgsql

The performance cost of pl/pgsql exception block in Postgres

One of the languages that Postgres offers for writing stored procedures is pl/pgsql. One of it's...

DEV Community

#PostgreSQL does NOT fire a NO_DATA_FOUND exception by default.

To change this behavior add STRICT word.

Example: SELECT .... INTO STRICT variable ...

#plpgsql