PostgreSQL - Adding to SVCS list. | Unix Linux Forums | Solaris

  Go Back    


Solaris The Solaris Operating System, usually known simply as Solaris, is a Unix-based operating system introduced by Sun Microsystems. The Solaris OS is now owned by Oracle.

PostgreSQL - Adding to SVCS list.

Solaris


Closed Thread    
 
Thread Tools Search this Thread Display Modes
    #1  
Old 11-19-2012
Nvizn Nvizn is offline
Registered User
 
Join Date: Mar 2012
Last Activity: 8 October 2014, 11:32 AM EDT
Posts: 23
Thanks: 8
Thanked 1 Time in 1 Post
PostgreSQL - Adding to SVCS list.

I'm having some troubles setting an instance of postgreSQL to automatically start upon system boot. I have two servers running this app, one is automatically starting the service, the other is not. I'm attempting to use the "svcadmin" command, however, apparently when I run a "svcs -a" search, the appropriate instance doesn't display in the list of services.

Here's what a get with svcs -a | grep postgresql

disabled Nov_17 svc:/application/database/postgresql:version_81
disabled Nov_17 svc:/application/database/postgresql:version_82_64bit
online Nov_17 svc:/application/database/postgresql:version_82

However, none of these are the instance I'm looking to run.

version 8.2 is located in:

postgres 385 381 0 Nov 17 ? 0:02 /usr/postgres/8.2/bin/postgres -D /var/postgres/8.2/data

I'm looking to run this:

postgres 426 1 0 Nov 17 ? 0:01 /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data

How come the application located in /usr/local/pgsql, doesn't display in the service list? What can I do to make it appear as a service, or, just get this application to automatically start upon server boot? I appreciate any and all assistance.
Sponsored Links
    #2  
Old 11-19-2012
jim mcnamara jim mcnamara is online now Forum Staff  
...@...
 
Join Date: Feb 2004
Last Activity: 20 December 2014, 3:00 PM EST
Location: NM
Posts: 10,312
Thanks: 297
Thanked 822 Times in 764 Posts
It appears you need to create a new service, try this set of instructions:

solaris 10: add new svc
Sponsored Links
    #3  
Old 11-19-2012
Nvizn Nvizn is offline
Registered User
 
Join Date: Mar 2012
Last Activity: 8 October 2014, 11:32 AM EDT
Posts: 23
Thanks: 8
Thanked 1 Time in 1 Post
Quote:
Originally Posted by jim mcnamara View Post
It appears you need to create a new service, try this set of instructions:
I found that info, however, there is no .xml for the server successfully running this service. It actually shows up when executing "svcs -a." I'd prefer avoiding this option as I assume, it should automatically show in the list of services.
    #4  
Old 11-19-2012
bartus11's Avatar
bartus11 bartus11 is offline Forum Staff  
Moderator
 
Join Date: Apr 2009
Last Activity: 20 December 2014, 10:35 AM EST
Posts: 3,720
Thanks: 7
Thanked 1,147 Times in 1,118 Posts
Can you post output of:
Code:
svccfg export svc:/application/database/postgresql

Sponsored Links
    #5  
Old 11-19-2012
Nvizn Nvizn is offline
Registered User
 
Join Date: Mar 2012
Last Activity: 8 October 2014, 11:32 AM EDT
Posts: 23
Thanks: 8
Thanked 1 Time in 1 Post

Code:
<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<service_bundle type='manifest' name='export'>
  <service name='application/database/postgresql' type='service' version='0'>
    <dependency name='network' grouping='require_all' restart_on='none' type='service'>
      <service_fmri value='svc:/milestone/network:default'/>
    </dependency>
    <dependency name='filesystem-local' grouping='require_all' restart_on='none' type='service'>
      <service_fmri value='svc:/system/filesystem/local:default'/>
    </dependency>
    <exec_method name='start' type='method' exec='/lib/svc/method/postgresql start' timeout_seconds='60'>
      <method_context/>
    </exec_method>
    <exec_method name='stop' type='method' exec='/lib/svc/method/postgresql stop' timeout_seconds='60'>
      <method_context/>
    </exec_method>
    <exec_method name='refresh' type='method' exec='/lib/svc/method/postgresql refresh' timeout_seconds='60'>
      <method_context/>
    </exec_method>
    <property_group name='general' type='framework'>
      <propval name='action_authorization' type='astring' value='solaris.smf.manage.postgres'/>
      <propval name='value_authorization' type='astring' value='solaris.smf.value.postgres'/>
    </property_group>
    <instance name='version_81' enabled='false'>
      <method_context project=':default' resource_pool=':default' working_directory=':default'>
        <method_credential group='postgres' limit_privileges=':default' privileges=':default' supp_groups=':default' user='postgres'/>
      </method_context>
      <property_group name='postgresql' type='application'>
        <propval name='value_authorization' type='astring' value='solaris.smf.value.postgres'/>
        <propval name='bin' type='astring' value='/usr/bin'/>
        <propval name='data' type='astring' value='/var/lib/pgsql/data'/>
        <propval name='log' type='astring' value='server.log'/>
      </property_group>
    </instance>
    <instance name='version_82' enabled='true'>
      <method_context project=':default' resource_pool=':default' working_directory=':default'>
        <method_credential group='postgres' limit_privileges=':default' privileges=':default' supp_groups=':default' user='postgres'/>
      </method_context>
      <property_group name='postgresql' type='application'>
        <propval name='value_authorization' type='astring' value='solaris.smf.value.postgres'/>
        <propval name='bin' type='astring' value='/usr/postgres/8.2/bin'/>
        <propval name='data' type='astring' value='/var/postgres/8.2/data'/>
        <propval name='log' type='astring' value='server.log'/>
      </property_group>
    </instance>
    <instance name='version_82_64bit' enabled='false'>
      <method_context project=':default' resource_pool=':default' working_directory=':default'>
        <method_credential group='postgres' limit_privileges=':default' privileges=':default' supp_groups=':default' user='postgres'/>
      </method_context>
      <property_group name='postgresql' type='application'>
        <propval name='bin' type='astring' value='/usr/postgres/8.2/bin/64'/>
        <propval name='data' type='astring' value='/var/postgres/8.2/data_64'/>
        <propval name='log' type='astring' value='server.log'/>
        <propval name='value_authorization' type='astring' value='solaris.smf.value.postgres'/>
      </property_group>
    </instance>
    <stability value='Evolving'/>
    <template>
      <common_name>
        <loctext xml:lang='C'>PostgreSQL RDBMS</loctext>
      </common_name>
      <documentation>
        <manpage title='postgres_82' section='5'/>
        <doc_link name='postgresql.org' uri='http://postgresql.org'/>
      </documentation>
    </template>
  </service>
</service_bundle>


Last edited by Corona688; 11-19-2012 at 06:05 PM..
Sponsored Links
    #6  
Old 11-19-2012
bartus11's Avatar
bartus11 bartus11 is offline Forum Staff  
Moderator
 
Join Date: Apr 2009
Last Activity: 20 December 2014, 10:35 AM EST
Posts: 3,720
Thanks: 7
Thanked 1,147 Times in 1,118 Posts
Try doing this:

Code:
svccfg export svc:/application/database/postgresql > postgres.xml

Edit postgres.xml and add another <instance></instance> stanza after last </instance> tag, containing parameters related to your /usr/local installation. It might look like this (I named new instance "usr-local" here, you can choose any name you like):
Code:
<instance name='usr-local' enabled='false'>
      <method_context project=':default' resource_pool=':default' working_directory=':default'>
        <method_credential group='postgres'  limit_privileges=':default' privileges=':default' supp_groups=':default'  user='postgres'/>
      </method_context>
      <property_group name='postgresql' type='application'>
        <propval name='bin' type='astring' value='/usr/local/pgsql/bin'/>
        <propval name='data' type='astring' value='/usr/local/pgsql/data'/>
        <propval name='log' type='astring' value='server.log'/>
        <propval name='value_authorization' type='astring' value='solaris.smf.value.postgres'/>
      </property_group>
    </instance>

Import new service into SMF repository:
Code:
svccfg import postgres.xml

The Following 2 Users Say Thank You to bartus11 For This Useful Post:
jim mcnamara (11-19-2012), Nvizn (11-20-2012)
Sponsored Links
    #7  
Old 11-20-2012
Nvizn Nvizn is offline
Registered User
 
Join Date: Mar 2012
Last Activity: 8 October 2014, 11:32 AM EDT
Posts: 23
Thanks: 8
Thanked 1 Time in 1 Post
That did it! Thanks a bunch. Something I've been working on on/off, for the last week or so.
Sponsored Links
Closed Thread

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
AWK adding prefix/suffix to list of strings chrisjorg Shell Programming and Scripting 5 04-18-2012 08:17 AM
Adding Characters to a Word List evillion Shell Programming and Scripting 7 07-07-2010 02:55 PM
Need scripting help in :Adding 20% to a list of number : rveri Shell Programming and Scripting 2 11-06-2009 02:27 AM
adding a list of numbers 3 by 3 Tártaro Shell Programming and Scripting 4 06-02-2009 03:29 AM
User Name and Password List/adding and removing users. disgracedsaint UNIX for Dummies Questions & Answers 3 03-25-2009 03:23 PM



All times are GMT -4. The time now is 04:05 PM.