PostgreSQL on Amazon RDS

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

PostgreSQL on Amazon RDS

Rashmi V Bharadwaj
Hi,

Is there a SQL query or a database parameter setting that I can use from an external application to determine if the PostgreSQL database is on cloud (like on Amazon RDS or IBM cloud) or on a non-cloud on-prem environment?

Thanks,
Rashmi

Reply | Threaded
Open this post in threaded view
|

Re: PostgreSQL on Amazon RDS

Nicklas Avén
On 5/7/19 9:25 AM, Rashmi V Bharadwaj wrote:
Hi,

That query will only give the PostgreSQL database server's IP address right? That is true while we do a remote access to the non-cloud database from another machine also.
I want to know if there is anything specific that can be used to determine a cloud environment.

-Rashmi

-----"Nicklas Avén" <[hidden email]> wrote: -----
To: Rashmi V Bharadwaj <[hidden email]>
From: "Nicklas Avén" <[hidden email]>
Date: 07/05/2019 12:46PM
Subject: Re: PostgreSQL on Amazon RDS

Hi


You can resolv the ip-address


select inet_server_addr();


/Nicklas



On 5/7/19 8:27 AM, Rashmi V Bharadwaj wrote:
Hi,

Is there a SQL query or a database parameter setting that I can use from an external application to determine if the PostgreSQL database is on cloud (like on Amazon RDS or IBM cloud) or on a non-cloud on-prem environment?

Thanks,
Rashmi




Sorry I didn't reply to list last time, and I top posted. I will be banned :-)


Well, that is true that you will get an ip-address in both cases, but in one case the ip-address will point to a cloud server and in the other case to some other server.

What you define as a cloud server is up to you.


I don't fully understand what you are want to get. I mean the postgresql installation doesn't have any definition about what is a cloud server and what is not.

Some vendors probably have some special settings that can be detected, but you can install postresql on any server, hosted by you, a company, a company named Amazon or whatever.

From the ip-address you might be able to find out if it seems to be an rds server.

But I see that it seems to only give the private address in Amazon rds. So then it might be difficult.

So, back to your original question.

I don't think there are anything specific for a cloud installation since a cloud server is just a server like any other server.

If there is something special it is vendor specific.


/Nicklas




jer
Reply | Threaded
Open this post in threaded view
|

Re: PostgreSQL on Amazon RDS

jer
In reply to this post by Rashmi V Bharadwaj
On 5/6/19 23:27, Rashmi V Bharadwaj wrote:
> Is there a SQL query or a database parameter setting that I can use from
> an external application to determine if the PostgreSQL database is on
> cloud (like on Amazon RDS or IBM cloud) or on a non-cloud on-prem
> environment?

Here's my psqlrc file which has pretty solid logic for detecting between
Community PostgreSQL, RDS PostgreSQL and Aurora PostgreSQL.  Note that
it just assumes "community/oss" as a default if it doesn't detect the
other two.  Should be easy enough to add detection of other hosted
environments into the query with the "priority" column (as long as
there's a reliable way to detect).

https://gist.github.com/ardentperf/52bd418e44b1be26d7b63af21331cece

This psqlrc also detects read-write versus read-only (e.g. hot standby),
and the usual username/database/superuser info and builds everything
into the prompt in a way that suits me.

-Jeremy

--
http://about.me/jeremy_schneider


Reply | Threaded
Open this post in threaded view
|

Re: PostgreSQL on Amazon RDS

Alex Aquino
Jeremy Schneider - Thanks for that psqlrc file.  Pretty informative. :-)

On Wed, May 8, 2019 at 11:55 AM Jeremy Schneider <[hidden email]> wrote:
On 5/6/19 23:27, Rashmi V Bharadwaj wrote:
> Is there a SQL query or a database parameter setting that I can use from
> an external application to determine if the PostgreSQL database is on
> cloud (like on Amazon RDS or IBM cloud) or on a non-cloud on-prem
> environment?

Here's my psqlrc file which has pretty solid logic for detecting between
Community PostgreSQL, RDS PostgreSQL and Aurora PostgreSQL.  Note that
it just assumes "community/oss" as a default if it doesn't detect the
other two.  Should be easy enough to add detection of other hosted
environments into the query with the "priority" column (as long as
there's a reliable way to detect).

https://gist.github.com/ardentperf/52bd418e44b1be26d7b63af21331cece

This psqlrc also detects read-write versus read-only (e.g. hot standby),
and the usual username/database/superuser info and builds everything
into the prompt in a way that suits me.

-Jeremy

--
http://about.me/jeremy_schneider