Запитання з тегом «plpgsql»

PL / pgSQL є мовою процедур за замовчуванням для системи баз даних PostgreSQL. Питання щодо PL / pgSQL, ймовірно, також мають бути позначені "PostgreSQL".

2
Створіть індекс, якщо його не існує
Я працюю над функцією, яка дозволяє мені додавати індекс, якщо його не існує. У мене виникає проблема, що я не можу отримати список індексів для порівняння. Будь-які думки? Це схоже питання на створення стовпця, яке вирішено за допомогою цього коду: https://stackoverflow.com/a/12603892/368511

4
Виконання функції
Виходячи з фону MySQL, де продуктивність збережених процедур (старіша стаття) та зручність використання сумнівні, я оцінюю PostgreSQL для нового продукту для своєї компанії. Одним із речей, які я хотів би зробити, є переміщення деякої логіки додатків у збережені процедури, тому я тут прошу DO-та і DON'Ts (найкращі практики) щодо використання …

3
Ідіоматичний спосіб реалізації UPSERT в PostgreSQL
Я читав про різні UPSERTреалізації в PostgreSQL, але всі ці рішення є відносно старими або відносно екзотичними (наприклад, використовуючи CTE , що записується ). І я просто не фахівець з psql, щоб відразу дізнатися, чи є ці рішення старими, оскільки вони добре рекомендуються, або вони (ну, майже всі вони є) …

5
Як вставити (файл) дані в колонку bytea PostgreSQL?
Це питання не стосується Bytea v. Oid v. Blobs v. Великих предметів тощо. У мене є таблиця, що містить integerполе первинного ключа та byteaполе. Я хотів би ввести дані в byteaполе. Імовірно, це можна зробити однією з PL/мов, і я можу розглянути це PL/Pythonв майбутньому. Оскільки я ще тестую і …

6
Які відмінності між "Збереженими процедурами" та "Збереженими функціями"?
Тож у коментарі до цього питання зазначається, що в PostgreSQL є невелика різниця у "Збережених процедурах" та "Збережених функціях". Коментар посилається на статтю вікіпедії, але деякі з них, схоже, не застосовуються (наприклад, вони можуть бути використані у SELECTзаяві). Сам синтаксис здається трохи заплутаним: CREATE FUNCTION emp_stamp() RETURNS trigger AS $emp_stamp$ …


1
Функція Postgres призначає результати запиту кільком змінним
Мені потрібно призначити значення 2 змінним, як показано нижче у функції Postgres. a := select col1 from tbl where ... b := select col2 from tbl where ... Як я можу призначити 2 значення двом змінним в одній команді рядка? Подібно до a,b := select col1,col2 from tbl where ...

1
Чи є хороший спосіб запустити тригер для кожного запису в таблиці постгресів?
У мене є система, де я не можу керувати дизайном деяких таблиць (реплікується через Slony-I), і тому у мене є ряд того, що ми називаємо «тіньовими таблицями», де я витягую інформацію з реплікуваних таблиць , і зберігайте його в обробленому мені вигляді, знімаючи записи, які я хочу ігнорувати. Зараз, після …

2
Процедурні мови PostgreSQL - відмінності між PL / pgSQL та SQL
Чи може хто-небудь, будь ласка, узагальнити відмінності між: http://www.postgresql.org/docs/9.1/static/xfunc-sql.html і http://www.postgresql.org/docs/9.1/static/plpgsql.html ? Основні моменти: концептуальні відмінності враховуючи сімейство проблем, зручність використання політичні питання

2
План запитів постгресів виклику функції, написаного в plpgsql
Це можливо при використанні pgadminабо plsqlсхопити план запиту для SQL виконаного оператора Всередині у сер д efined е соборування (UDF) , використовуючи EXPLAIN. Тож як я можу отримати план запитів для певної виклику UDF? Я бачу, що АДС абстрагується в одній операції F()в pgadmin. Я переглянув документацію, але нічого не …

1
EXPLAIN ANALYZE не показує деталей для запитів всередині функції plpgsql
Я використовую функцію PL / pgSQL в PostgreSQL 9.3 з декількома складними запитами всередині: create function f1() returns integer as $$ declare event tablename%ROWTYPE; .... .... begin FOR event IN SELECT * FROM tablename WHERE condition LOOP EXECUTE 'SELECT f2(event.columnname)' INTO dummy_return; END LOOP; ... INSERT INTO ... FROM a …

2
Тригер: переміщення видалених рядків до архівної таблиці
У мене є невелика таблиця (~ 10 рядків), що називається restrictionsу моїй базі даних PostgreSQL, де значення видаляються та вставляються щодня. Я хотів би мати таблицю під назвою restrictions_deleted, де кожне рядок, який буде видалено restrictions, зберігатиметься автоматично. Оскільки restrictionsмає серійний ідентифікатор, дублікатів не буде. Як записати такий тригер в …

1
Іменування конфлікту між параметром функції та результатом JOIN із пунктом USING
Враховуючи цю установку в поточному Postgres 9.4 ( з цього пов'язаного питання ): CREATE TABLE foo (ts, foo) AS VALUES (1, 'A') -- int, text , (7, 'B'); CREATE TABLE bar (ts, bar) AS VALUES (3, 'C') , (5, 'D') , (9, 'E'); Також є SQL Fiddle з попереднього питання. …

2
Чи є в PL / pgSQL простий спосіб перевірити, чи не повернувся запит?
Зараз я трохи експериментую з PL / pgSQL і хочу знати, чи є більш елегантний спосіб зробити щось подібне: select c.data into data from doc c where c.doc_id = id and c.group_cur > group_cur order by c.id desc limit 1; EXCEPTION WHEN NO_DATA_FOUND THEN select c.data into data from doc …

3
Як я можу повернути кілька рядків записів у PL / pgSQL
Я намагаюся повернути кілька записів за допомогою типу даних RECORD, чи є спосіб я додати до RECORD та додати / додати нове значення з кожною ітерацією до цього RECORD. тобто я хочу додати recтак, щоб він recстав набором рядків, коли цикл закінчився, який я можу просто ВІДНОВИТИ наприкінці своєї функції. …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.