Re: [pgsql-ru-general] как узнать hostname?
От | Миша Тюрин |
---|---|
Тема | Re: [pgsql-ru-general] как узнать hostname? |
Дата | |
Msg-id | 1379951850.936687514@f382.i.mail.ru обсуждение исходный текст |
Ответ на | как узнать hostname? (Andrew Boag <red@red.geek.nz>) |
Ответы |
Re: [pgsql-ru-general] Re: [pgsql-ru-general] как узнать hostname?
|
Список | 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@red.geek.nz>:
--
Миша Тюрин
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@red.geek.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@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-ru-general
Мы имеем опыть работы со всякими подходами в плане 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@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-ru-general
--
Миша Тюрин
В списке pgsql-ru-general по дате отправления: