<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>27336</bug_id>
          
          <creation_ts>2012-05-14 20:39:54 +0400</creation_ts>
          <short_desc>posgresql.service for postgresql</short_desc>
          <delta_ts>2018-05-12 11:26:25 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>postgresql9.1-server</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Igor Zubkov">icesik</reporter>
          <assigned_to name="Denis Smirnov">mithraen</assigned_to>
          <cc>aen</cc>
    
    <cc>amike</cc>
    
    <cc>amike</cc>
    
    <cc>evg</cc>
    
    <cc>misha</cc>
    
    <cc>shaba</cc>
    
    <cc>taf</cc>
    
    <cc>vitty</cc>
    
    <cc>vvk</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>131243</commentid>
    <comment_count>0</comment_count>
    <who name="Igor Zubkov">icesik</who>
    <bug_when>2012-05-14 20:39:54 +0400</bug_when>
    <thetext>Нужна нативная поддержка systemd в пакете postgresql.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131270</commentid>
    <comment_count>1</comment_count>
    <who name="Vitaly Kuznetsov">vitty</who>
    <bug_when>2012-05-15 18:53:12 +0400</bug_when>
    <thetext>http://git.altlinux.org/people/vitty/packages/postgresql9.1.git?p=postgresql9.1.git;a=commit;h=3aa59d5b519607e6c90a27c89ae0db6ef8de3a18

Если майнтейнеры postgres не против, то я готов собрать этот коммит в Сизиф.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131271</commentid>
    <comment_count>2</comment_count>
    <who name="Vitaly Kuznetsov">vitty</who>
    <bug_when>2012-05-15 19:48:20 +0400</bug_when>
    <thetext>У нас, собственно, пакеты postgresql9.0-server и postgresql9.1-server, перевешиваю на 9.1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131274</commentid>
    <comment_count>3</comment_count>
      <attachid>5460</attachid>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2012-05-15 20:23:39 +0400</bug_when>
    <thetext>Created attachment 5460
postgresql.service</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131275</commentid>
    <comment_count>4</comment_count>
      <attachid>5461</attachid>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2012-05-15 20:24:13 +0400</bug_when>
    <thetext>Created attachment 5461
postgresql-chrooted.service</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131276</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2012-05-15 20:35:46 +0400</bug_when>
    <thetext>Предлагаю два service-файла, для postgreasql в chroot и без.

to vitty: комит посмотрел:
- StandardOutput=syslog - стоит ли переопределять обще-системный? может я только journal использую
- &quot;postgres -C $PG_CHROOT_DIR&quot; - это только для postgresql в chroot? что будет если $PG_CHROOT_DIR пустой? (я просто не знаю, поэтому и спрашиваю)
- а нужен ли postgresql-init-db? автоматической инициализации базы данных нет и в старом postgresql(когда-то давно была,хорошо что сейчас нет). Всё равно человек будет запускать initdb, поэтому можно запустить /etc/init.d/postgresql initdb. У нас это сработает, а в федоре нет - там /etc/init.d/functions не дадут это сделать под systemd.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131277</commentid>
    <comment_count>6</comment_count>
    <who name="Mike">amike</who>
    <bug_when>2012-05-15 21:22:29 +0400</bug_when>
    <thetext>Сам postges не форкается, следовательно Type=forking не подходит. 
Остановка сервера, через pg_ctl тоже через посылку KILL сигнала, следовательно можно убрать эту операцию и доверить остановку самому systemd.

В общем, больше подробностей у ldv@ и vitty@, пару часов тестировали юнит и пришли к тому виду, который у vitty@.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131279</commentid>
    <comment_count>7</comment_count>
    <who name="Vitaly Kuznetsov">vitty</who>
    <bug_when>2012-05-15 22:21:16 +0400</bug_when>
    <thetext>(В ответ на комментарий №5)
&gt; Предлагаю два service-файла, для postgreasql в chroot и без.
&gt; 
&gt; to vitty: комит посмотрел:
&gt; - StandardOutput=syslog - стоит ли переопределять обще-системный? может я
&gt; только journal использую

Да, наверное не стоит.

&gt; - &quot;postgres -C $PG_CHROOT_DIR&quot; - это только для postgresql в chroot? что будет
&gt; если $PG_CHROOT_DIR пустой? (я просто не знаю, поэтому и спрашиваю)

Я как-то не подумал о работа postgres не в chroot. Он у нас так работает?

&gt; - а нужен ли postgresql-init-db? автоматической инициализации базы данных нет и
&gt; в старом postgresql(когда-то давно была,хорошо что сейчас нет). Всё равно
&gt; человек будет запускать initdb, поэтому можно запустить /etc/init.d/postgresql
&gt; initdb. У нас это сработает, а в федоре нет - там /etc/init.d/functions не
&gt; дадут это сделать под systemd.

Мне показалось, что людям будет крайне неочевидно делать /etc/init.d/postgresql initdb, не догадаются (причём service postgresql initdb не сработает), поэтому я и вынес отдельный скрипт. Но я, разумеется, не настаиваю, мне просто показалось так логичнее.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131286</commentid>
    <comment_count>8</comment_count>
    <who name="Mike">amike</who>
    <bug_when>2012-05-16 01:52:06 +0400</bug_when>
    <thetext>(В ответ на комментарий №7)
&gt; (В ответ на комментарий №5)
&gt; &gt; Предлагаю два service-файла, для postgreasql в chroot и без.
&gt; &gt; 
&gt; &gt; to vitty: комит посмотрел:
&gt; &gt; - StandardOutput=syslog - стоит ли переопределять обще-системный? может я
&gt; &gt; только journal использую
&gt; 
&gt; Да, наверное не стоит.

Т.к. всё равно весь вывод в итоге попадёт в syslog, если он присутствует.

&gt; &gt; - &quot;postgres -C $PG_CHROOT_DIR&quot; - это только для postgresql в chroot? что будет
&gt; &gt; если $PG_CHROOT_DIR пустой? (я просто не знаю, поэтому и спрашиваю)
&gt; 
&gt; Я как-то не подумал о работа postgres не в chroot. Он у нас так работает?
&gt; 

Вроде у нас postgres в чруте по умолчанию?
Стоит остановиться на одном варианте дистрибутивного исполнения, т.к. тем у кого postgres будет настроен по другому или выведен и чрута, есть /etc/systemd/system

Ну и для проверки чрута: ConditionDirectoryNotEmpty=

&gt; &gt; - а нужен ли postgresql-init-db? автоматической инициализации базы данных нет и
&gt; &gt; в старом postgresql(когда-то давно была,хорошо что сейчас нет). Всё равно
&gt; &gt; человек будет запускать initdb, поэтому можно запустить /etc/init.d/postgresql
&gt; &gt; initdb. У нас это сработает, а в федоре нет - там /etc/init.d/functions не
&gt; &gt; дадут это сделать под systemd.
&gt; 
&gt; Мне показалось, что людям будет крайне неочевидно делать /etc/init.d/postgresql
&gt; initdb, не догадаются (причём service postgresql initdb не сработает), поэтому
&gt; я и вынес отдельный скрипт. Но я, разумеется, не настаиваю, мне просто
&gt; показалось так логичнее.

Если писать юнит для postgres, то так что бы для работы сервиса не надо было использовать части от init.
Для initdb, если хочется использовать отдельный запуск, можно отдельный юнит сделать с Requires на potgres.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171036</commentid>
    <comment_count>9</comment_count>
    <who name="Alexei Takaseev">taf</who>
    <bug_when>2018-05-12 08:22:28 +0300</bug_when>
    <thetext>Во всех текущих ветках PG  postgresql.service в наличии.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>5460</attachid>
            <date>2012-05-15 20:23:39 +0400</date>
            <delta_ts>2012-05-15 20:23:39 +0400</delta_ts>
            <desc>postgresql.service</desc>
            <filename>postgresql.service</filename>
            <type>text/plain</type>
            <size>684</size>
            <attacher name="Alexey Shabalin">shaba</attacher>
            
              <data encoding="base64">W1VuaXRdCkRlc2NyaXB0aW9uPVBvc3RncmVTUUwgZGF0YWJhc2Ugc2VydmVyCkFmdGVyPW5ldHdv
cmsudGFyZ2V0CkNvbmRpdGlvblBhdGhFeGlzdHM9L3Zhci9saWIvcGdzcWwvZGF0YS9QR19WRVJT
SU9OCkNvbmRpdGlvblBhdGhJc0RpcmVjdG9yeT0vdmFyL2xpYi9wZ3NxbC9kYXRhL2Jhc2UKCltT
ZXJ2aWNlXQpUeXBlPWZvcmtpbmcKUElERmlsZT0vdmFyL2xpYi9wZ3NxbC9kYXRhL3Bvc3RtYXN0
ZXIucGlkCgpTeXNsb2dJZGVudGlmaWVyPXBvc3RncmVzClVzZXI9cG9zdGdyZXMKR3JvdXA9cG9z
dGdyZXMKCkVudmlyb25tZW50PVBHREFUQT0vdmFyL2xpYi9wZ3NxbC9kYXRhCkVudmlyb25tZW50
RmlsZT0tL2V0Yy9zeXNjb25maWcvcG9zdGdyZXNxbAoKT09NU2NvcmVBZGp1c3Q9LTIwMAoKRXhl
Y1N0YXJ0PS91c3IvYmluL3BnX2N0bCBzdGFydCAtRCAiJFBHREFUQSIgLXMgLXcgLXQgMzAwCkV4
ZWNTdG9wPS91c3IvYmluL3BnX2N0bCBzdG9wIC1EICIkUEdEQVRBIiAtcyAtbSBmYXN0CkV4ZWNS
ZWxvYWQ9L3Vzci9iaW4vcGdfY3RsIHJlbG9hZCAtRCAiJFBHREFUQSIgLXMKCiMgR2l2ZSBhIHJl
YXNvbmFibGUgYW1vdW50IG9mIHRpbWUgZm9yIHRoZSBzZXJ2ZXIgdG8gc3RhcnQgdXAvc2h1dCBk
b3duClRpbWVvdXRTZWM9MzAwCgpbSW5zdGFsbF0KV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>5461</attachid>
            <date>2012-05-15 20:24:13 +0400</date>
            <delta_ts>2012-05-15 20:24:13 +0400</delta_ts>
            <desc>postgresql-chrooted.service</desc>
            <filename>postgresql-chrooted.service</filename>
            <type>text/plain</type>
            <size>758</size>
            <attacher name="Alexey Shabalin">shaba</attacher>
            
              <data encoding="base64">W1VuaXRdCkRlc2NyaXB0aW9uPVBvc3RncmVTUUwgY2hyb290ZWQgZGF0YWJhc2Ugc2VydmVyCkFm
dGVyPW5ldHdvcmsudGFyZ2V0CkNvbmRpdGlvblBhdGhFeGlzdHM9L3Zhci9saWIvcGdzcWwvZGF0
YS9QR19WRVJTSU9OCkNvbmRpdGlvblBhdGhJc0RpcmVjdG9yeT0vdmFyL2xpYi9wZ3NxbC9kYXRh
L2Jhc2UKCltTZXJ2aWNlXQpUeXBlPWZvcmtpbmcKUElERmlsZT0vdmFyL2xpYi9wZ3NxbC9kYXRh
L3Bvc3RtYXN0ZXIucGlkCgpTeXNsb2dJZGVudGlmaWVyPXBvc3RncmVzClVzZXI9cG9zdGdyZXMK
R3JvdXA9cG9zdGdyZXMKCkVudmlyb25tZW50PVBHREFUQT0vdmFyL2xpYi9wZ3NxbC9kYXRhCkVu
dmlyb25tZW50RmlsZT0tL2V0Yy9zeXNjb25maWcvcG9zdGdyZXNxbAoKT09NU2NvcmVBZGp1c3Q9
LTIwMAoKRXhlY1N0YXJ0UHJlPS9ldGMvY2hyb290LmQvcG9zdGdyZXNxbC5hbGwKRXhlY1N0YXJ0
PS91c3IvYmluL3BnX2N0bCBzdGFydCAtRCAiJFBHREFUQSIgLW8gIi1DICRQR19DSFJPT1RfRElS
IiAtcyAtdyAtdCAzMDAKRXhlY1N0b3A9L3Vzci9iaW4vcGdfY3RsIHN0b3AgLUQgIiRQR0RBVEEi
IC1zIC1tIGZhc3QKRXhlY1JlbG9hZD0vdXNyL2Jpbi9wZ19jdGwgcmVsb2FkIC1EICIkUEdEQVRB
IiAtcwoKIyBHaXZlIGEgcmVhc29uYWJsZSBhbW91bnQgb2YgdGltZSBmb3IgdGhlIHNlcnZlciB0
byBzdGFydCB1cC9zaHV0IGRvd24KVGltZW91dFNlYz0zMDAKCltJbnN0YWxsXQpXYW50ZWRCeT1t
dWx0aS11c2VyLnRhcmdldAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>