PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

मैं AWS Aurora RDS Postgres में उपयोगकर्ता-परिभाषित फ़ंक्शन कैसे बनाऊं?

हम एक ही समस्या में भाग लेते हैं और एडब्ल्यूएस के संपर्क में आते हैं, जिन्होंने पुष्टि की कि यह वास्तव में क्वेरी संपादक उपकरण के साथ एक समस्या है। समस्या का समाधान कब होगा, इस बारे में उनके पास कोई ईटीए नहीं है।

समाधान 1:psql का उपयोग करें

अच्छी खबर यह है कि यह psql . के साथ काम करेगा . यह उनके उत्तर ईमेल का एक अंश है:

$ psql -h database-2.cluster-xx.us-west-2.rds.amazonaws.com -d postgres -U postgres
postgres=> CREATE OR REPLACE FUNCTION trigger_set_updated_at() RETURNS TRIGGER AS $$
postgres$> BEGIN  NEW.updated_at = NOW();  
postgres$> RETURN NEW;END;$$ 
postgres-> LANGUAGE plpgsql;
CREATE FUNCTION

इसे कैसे सेट करें इस पर दस्तावेज़ीकरण:https://docs.aws .amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToPostgreSQLInstance.html

समाधान 2:डेटा API का उपयोग करें

हम पहले से ही डेटा API का इस्तेमाल करते हैं हमारे क्लस्टर के साथ संवाद करने के लिए, इसलिए हमारे लिए सबसे सरल समाधान वास्तव में AWS CLI और मौजूदा डेटाबेस रहस्य का उपयोग करना है।

आप अपनी फ़ंक्शन परिभाषा को function.sql . में रख सकते हैं फ़ाइल:

CREATE OR REPLACE FUNCTION increment(i integer) RETURNS integer AS $$
    BEGIN
        RETURN i + 1;
    END;
$$ LANGUAGE plpgsql;

फिर इसे डेटाबेस पर निष्पादित करें:

cat function.sql | xargs -0 aws rds-data execute-statement \
    --resource-arn arn:aws:rds:eu-west-1:xxx:cluster:cluster-name \
    --secret-arn arn:aws:secretsmanager:eu-west-1:xxx:secret:secret-name-xxx \
    --database "database_name" \
    --sql

उम्मीद है कि यह उपयोगी है, शुभकामनाएँ!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL:मुद्रा के लिए किस डेटाटाइप का उपयोग किया जाना चाहिए?

  2. रेल में jsonb का उपयोग कैसे करें

  3. JOIN बनाम LEFT JOIN और WHERE कंडीशन परफॉर्मेंस सुझाव को अधिक विस्तार से समझाएं

  4. PostgreSQL समग्र प्राथमिक कुंजी

  5. दूरस्थ पोस्टग्रेज सर्वर को pgAdmin के साथ एक्सेस करें