sql >> Database teknologi >  >> RDS >> PostgreSQL

funktion eksisterer ikke, men jeg tror virkelig den gør

Nå, noget er mærkeligt. Jeg gjorde:

[email protected]@[local] =# create function abuse_resolve(inout __abuse_id bigint,
                               out __msg text) returns record language plpgsql as
                               $$ begin __msg = 'ok'; end; $$;
CREATE FUNCTION
[email protected]@[local] =# \df abuse_resolve
List of functions
-[ RECORD 1 ]-------+----------------------------------------
Schema              | so9679418
Name                | abuse_resolve
Result data type    | record
Argument data types | INOUT __abuse_id bigint, OUT __msg text
Type                | normal

[email protected]@[local] =# select abuse_resolve('30'::bigint);
-[ RECORD 1 ]-+--------
abuse_resolve | (30,ok)

Har du haft andre problemer med denne database? Kan du kopiere det med dump/gendan og prøve dette på den nye kopi? Hjælper det eksplicit at kvalificere funktionsnavnet med det "offentlige" skema? Hvilken version af PostgreSQL bruger du?

opdatering:sql-funktion Det fungerede også fint for mig ved at bruge:

create function abuse_resolve(inout __abuse_id bigint, out __msg text)
  language sql as $$ select $1, 'ok'::text $$;


  1. Sådan angives en liste over værdier for en postgresql-sekvens

  2. Ekskluder poster, hvis højre tabel matcher

  3. RowVersion og ydeevne

  4. Oracle Funktion til at opdatere en tabel, hvis posten er null, så INSERT