From: | Кирилл Иванников <kiryam(at)kiryam(dot)ru> |
---|---|
To: | Миша Тюрин <tmihail(at)bk(dot)ru> |
Cc: | Andrew Boag <red(at)red(dot)geek(dot)nz>, pgsql-ru-general(at)postgresql(dot)org |
Subject: | Re: [pgsql-ru-general] Re: [pgsql-ru-general] как узнать hostname? |
Date: | 2013-09-24 06:58:58 |
Message-ID: | CAEes93RYEP+Fun1N-hC87Y4CjBBLV7HJ8kmf4P-Hdrqz6DybbA@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
http://pgxn.org/dist/hostname/1.0.0/
23 сентября 2013 г., 21:57 пользователь Миша Тюрин <tmihail(at)bk(dot)ru> написал:
> такие два варианта есть у нас в 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
>
>
>
> --
> Миша Тюрин
>
From | Date | Subject | |
---|---|---|---|
Next Message | Dmitry E. Oboukhov | 2013-09-24 22:05:10 | индекс по полю JSON без функции |
Previous Message | Миша Тюрин | 2013-09-23 15:57:30 | Re: [pgsql-ru-general] как узнать hostname? |