NLEN
Direct technisch advies?
Home > Blog

Nieuwe ‘gestoorde’ procedure in PostgreSQL 11

Gijsjan Baars 29-11-2018 15:04
Catégories: Beheer, BLOG, Open Source, PostgreSQL, Technisch

Met de laatste update van PostgreSQL is weer een aantal fijne nieuwe functies toegevoegd aan de populaire open-source database. Naast een aantal mooie features die het werk voor de DBA gemakkelijker maken, zal het hart van databasegebruikers vooral harder gaan kloppen van één bepaalde update. Dé update waar jaren op werd gewacht. *Tromgeroffel*: PostgreSQL 11 is voorzien van een echte stored-procedure!

PostgreSQL voegt in iedere update weer nieuwe handige features toe, die het werk voor de DBA gemakkelijker en overzichtelijker maken. Zo werd in PostgreSQL 9.6 de rol pg_signal_backend al toegevoegd, die je kon granten aan gebruikers zodat zij hun (te) langlopende queries konden cancellen of terminaten. In PostgreSQL 10 kwamen daar de rollen pg_read_all_settings, pg_read_all_stats, pg_stat_scan_tables en pg_monitor bij en in PostgreSQL 11 is het aantal rollen opnieuw uitgebreid. In combinatie met deze reeds bestaande rollen, maken de nieuwe rollen als pg_read_server_files, pg_write_server_files en pg_execute_server_program het mogelijk om als DBA gecontroleerd de applicatiegebruikers of andere gebruikers gestructureerd toegang te geven tot ‘jouw’ database.

Eindelijk: een echte stored-procedure

Ja, er zijn weer een hoop verbeteringen doorgevoerd in PostgreSQL 11. Naast de genoemde verbeteringen op het gebied van access control zijn bijvoorbeeld ook partitioning, parallelism en WAL-files aangepakt. Maar de échte vooruitgang waar alle databasegebruikers op zaten te wachten is natuurlijk de stored-procedure. Je leest het goed: we kunnen nu eindelijk ook in PostgreSQL gebruik maken van échte stored-procedures!

Voorheen was een stored-procedure binnen PostgreSQL niets anders dan een functie, maar vanaf versie 11 kunnen we de stored-procedure aanroepen met CALL {functienaam} in plaats van met SELECT * FROM … en dat biedt natuurlijk grote voordelen. Je kunt nu bijvoorbeeld binnen een stored-procedure gebruikmaken van transaction control, zodat we nu een commit en een rollback kunnen uitvoeren binnen een procedure. De talen die hierbij ondersteund worden zijn: PL/pgSQL, PL/Perl, PL/Python, PL/Tcl en SPI.

Exit!

En er zijn nog andere leuke nieuwe features, zoals JIT Compiled Queries. Het compileren van sommige queries naar machinecode kan de performance namelijk ten goede komen, blijkt uit benchmarks van onder andere CitusData.

Tot slot is er ook nog een handigheidje geïmplementeerd in PostgreSQL 11. Voorheen kon je alleen uit de psql-commandline komen door \q te typen of via de toetscombinatie CTRL+D. Maar hoe vaak heb je net als ik ‘exit’ getypt als je veel switcht tussen de Linux-prompt en de psql-prompt? Het typen van ‘exit’ of ‘quit’ haalde tot voor kort echter niets uit, afgezien van een oh-ja-ergernis. Dat is vanaf nu verleden tijd, want in PostgreSQL 11 kun je nu ook de psql-prompt verlaten met ‘exit’ en ‘quit’. Het is geen grote verandering, maar ik ben er blij mee!

Meer weten over PostgreSQL 11?

PostgreSQL community NederlandNederland heeft een groeiende en levendige PostgreSQL community. Zo organiseert de PostgreSQL Usergroup NL regelmatig meetups in Nederland. Om elkaar te ontmoeten, te versterken en kennis te delen.

Wil je meer weten over de mogelijkheden en/of nieuwe features van PostgreSQL 11?

Meld je aan bij de meetup group en bezoek onze meetups.

Of neem een kijkje via onderstaande links naar eerdere blogs en informatiepagina over het PostgreSQL platform, het beheer en support daarvan of neem contact met ons op via het contactformulier.

Blogs:

Inleiding en uitleg:
https://www.optimadata.nl/blogs/1/dqc9oq-an-expert's-introduction-to-postgresql-and-databasemanagement

Webapplicatie: MongoDB of PostgreSQL?
https://www.optimadata.nl/blogs/1/v9nvbw-mongodb-of-postgresql-voor-een-web-applicatie-

About PGday UK from an Oracle DBA's perspective:
https://www.optimadata.nl/blogs/1/faaoqt-my-transition-from-a-single-platform-dba-to-a-multi-platform-dba-(part-2)

Oracle naar Postgres migratie:
https://www.optimadata.nl/blogs/1/hhaibh-migreren-van-oracle-naar-postgresql-hoeft-geen-maatwerk-te-zijn

PostgreSQL Consultancy en beheer, een overzicht:
https://www.optimadata.nl/database-beheer/postgresql-beheer

PostgreSQL, het nut en de noodzaak van de community:
https://www.linkedin.com/pulse/open-source-drijft-op-community-edco-wallet/

Terug naar blogoverzicht



 

Répondre