Re: [pgsql-ru-general] как узнать hostname?

From: Миша Тюрин <tmihail(at)bk(dot)ru>
To: Andrew Boag <red(at)red(dot)geek(dot)nz>
Cc: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: [pgsql-ru-general] как узнать hostname?
Date: 2013-09-23 15:57:30
Message-ID: 1379951850.936687514@f382.i.mail.ru
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

такие два варианта есть у нас в avito

  1) в лоб,  такая штука

-- Function: system_uname()

-- DROP FUNCTION system_uname();

CREATE OR REPLACE FUNCTION system_uname()
  RETURNS text AS
$BODY$

  use POSIX;
 
  ( $kernel, $hostname, $release, $version, $hardware ) = uname();
 
  return $kernel .' '. $hostname .' '. $release .' '. $version .' '. $hardware;
 
$BODY$
  LANGUAGE plperlu VOLATILE
  COST 100;
ALTER FUNCTION system_uname()
  OWNER TO postgres;

2) хитро. конфиг каждой "ноды" закначивается строкой

include_if_exists 'localvars.conf'

а контент файла localvars.conf в момент деплоя поддерживается через Puppet

а там типа того

# current node server name
xdb.server = 'xdb-node01'

.

ну и далее имеем функцию
CREATE FUNCTION xdb_name() RETURNS text
    LANGUAGE sql
    AS $$
  select format('%s %s', current_setting('xdb.server'), current_database());
$$;

как-то так

Суббота, 21 сентября 2013, 23:40 +10:00 от Andrew Boag <red(at)red(dot)geek(dot)nz>:
>привет всем
>
>Мы имеем опыть работы со всякими подходами в плане PostgreSQL
>репликации: slony/DRBD/log shipping , и "встроенный" в 9ой версей где
>можно иметь "read only slave" (то, чего мы ждали)
>
>Все замечательно ... но теперь мы ищем способ определить (через SQL
>запрос) "какой у сервера hostname?" или "какой у сервера IP address?"
>
>скорее всего можно писать stored procedure? типа:
>
>SELECT get_hostname();
>  - RETURN: "pg1.example.com"
>
>или
>
>SELECT get_ip_address();
>  - RETURN: "123.123.123.123"
>
>У кого-нибудь есть опыть или предложение?
>
>спасибо заране
>
>
>
>
>--
>Sent via pgsql-ru-general mailing list (pgsql-ru-general(at)postgresql(dot)org)
>To make changes to your subscription:
>http://www.postgresql.org/mailpref/pgsql-ru-general

--
Миша Тюрин

In response to

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message Кирилл Иванников 2013-09-24 06:58:58 Re: [pgsql-ru-general] Re: [pgsql-ru-general] как узнать hostname?
Previous Message Andrey Oktyabrskiy 2013-09-21 14:32:43 Re: как узнать hostname?