हम एक ही समस्या में भाग लेते हैं और एडब्ल्यूएस के संपर्क में आते हैं, जिन्होंने पुष्टि की कि यह वास्तव में क्वेरी संपादक उपकरण के साथ एक समस्या है। समस्या का समाधान कब होगा, इस बारे में उनके पास कोई ईटीए नहीं है।
समाधान 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
उम्मीद है कि यह उपयोगी है, शुभकामनाएँ!