.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "FBSVCMGR 1" .TH FBSVCMGR 1 "2020-12-25" "Firebird 3.0" "Firebird documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" fbsvcmgr \- access services API of Firebird .SH "SYNOPSYS" .IX Header "SYNOPSYS" .IP "fbsvcmgr service_mgr \fIparameter...\fR" 4 .IX Item "fbsvcmgr service_mgr parameter..." .PD 0 .IP "fbsvcmgr host:service_mgr \fIparameter...\fR" 4 .IX Item "fbsvcmgr host:service_mgr parameter..." .PD .SH "DESCRIPTION" .IX Header "DESCRIPTION" Firebird (like interbase 6 and before) never had a way to access services \s-1API\s0 from command line. With the exception of \fB\-service\fR switch of \fBgbak\fR\|(1) and total use of services \s-1API\s0 in \fBgsec\fR\|(1) since version 2.0, to use services one had to use third party \s-1GUI\s0 or write himself a program using C or other programming language. Use of \s-1GUI\s0 is almost always not a problem, when you work with local machine or machine in your \s-1LAN.\s0 But in case, when you connect to remote unix server using any text-only connection, use of services is almost impossible. And this is really a problem sometimes. .PP The \fBfbsvcmgr\fR utility solves this problem. With it you may use any service, implemented by firebird. To use this utility you should be familiar with firebird services \s-1API\s0 \- \fBfbsvcmgr\fR does \s-1NOT\s0 emulate traditional utilities' switches, it is just frontend to the services \s-1API.\s0 .PP The first required parameter of command line is services manager you want to connect to. For local connection use simply \fIservice_mgr\fR, to attach to remote machine something like \fIhostname:service_mgr\fR is required. When required, additional service parameter blocks (\s-1SPB\s0), including any values, follow. Any of them may (or may not) be prefixed with single \fB\-\fR (minus) sign for clarity. For long command lines, typical for fbsvcmgr, use of '\-' makes command line better human-readable and has no other effects. .PP Compare: .PP .Vb 3 \& fbsvcmgr service_mgr user sysdba password \e \& masterke action_db_stats \e \& dbname employee sts_hdr_pages .Ve .PP and .PP .Vb 3 \& fbsvcmgr service_mgr \-user sysdba \-password \e \& masterke \-action_db_stats \-dbname \e \& employee \-sts_hdr_pages .Ve .PP Syntax of service parameter blocks, as understood by \fBfbsvcmgr\fR, almost exactly matches the one you may see in \fIibase.h\fR include file or Borland InterBase 6.0 \s-1API\s0 documentation. To save typing and make command line a bit shorter, slightly abbreviated form is used. All \s-1SPB\s0 parameters have one of two forms: \fIisc_spb_VALUE\fR or \fIisc_VALUE1_svc_VALUE2\fR. Accordingly in the first case you should type simply \fI\s-1VALUE\s0\fR, and for the second \- \fI\s-1VALUE1_VALUE2\s0\fR. For example: .PP .Vb 6 \& present in ibase.h becomes \& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \& isc_spb_dbname dbname \& isc_action_svc_backup action_backup \& isc_spb_sec_username sec_username \& isc_info_svc_get_env_lock info_get_env_lock .Ve .PP and so on. As an exception, \fIisc_spb_user_name\fR may be specified as either \&\fIuser_name\fR or simply \fIuser\fR. .PP The full description of all \s-1SPB\s0 parameters can be found int the InterBase 6.0 beta documentation. It is some 40 pages long, so it is not duplicated here. There are a couple of differences, though, which are described below. Another reference is the \fIibase.h\fR file distributed by the Firebird project. .IP "multiple actions in single request" 4 .IX Item "multiple actions in single request" Using fbsvcmgr you may perform single action (and get results of it's execution when available) or get multiple information items from services manager. For example: .Sp .Vb 1 \& fbsvcmgr service_mgr \-user sysdba \-password masterke \-action_display_user .Ve .Sp will list all users of local firebird server: .Sp .Vb 10 \& SYSDBA Sql Server Administrator 0 0 \& QA_USER1 0 0 \& QA_USER2 0 0 \& QA_USER3 0 0 \& QA_USER4 0 0 \& QA_USER5 0 0 \& GUEST 0 0 \& SHUT1 0 0 \& SHUT2 0 0 \& QATEST 0 0 .Ve .Sp And: .Sp .Vb 2 \& fbsvcmgr service_mgr \-user sysdba \-password masterke \e \& \-info_server_version \-info_implementation .Ve .Sp will report both server version and it's implementation: .Sp .Vb 2 \& Server version: LI\-T2.1.0.15740 Firebird 2.1 Alpha 1 \& Server implementation: Firebird/linux AMD64 .Ve .Sp But attempt to mix all of this in single command line: .Sp .Vb 2 \& fbsvcmgr service_mgr \-user sysdba \-password masterke \e \& \-action_display_user \-info_server_version \-info_implementation .Ve .Sp raises an error: .Sp .Vb 1 \& Unknown switch "\-info_server_version" .Ve .IP "Buggy documentation" 4 .IX Item "Buggy documentation" Some parameters have buggy form in Borland beta documentation. When in trouble, consult \fIibase.h\fR first for correct form. .Sp \&\fIisc_spb_rpr_list_limbo_trans\fR was forgotten in Borland beta documentation, but present in fbsvcmgr. .IP "No licensing stuff" 4 .IX Item "No licensing stuff" Everything concerning licensing was removed from interbase 6.0 and therefore not supported here. .IP "No access to config file" 4 .IX Item "No access to config file" Config file view/modification is not supported in firebird since 1.5 and therefore is not implemented here. .IP "Items added in firebird 2.1" 4 .IX Item "Items added in firebird 2.1" .RS 4 .PD 0 .IP "\fItrusted_auth\fR" 4 .IX Item "trusted_auth" .PD (Windows-only) Forces use of windows trusted authentication. .IP "\fIdbname\fR" 4 .IX Item "dbname" (Only for actions related to security). It is equivalent to the \fI\-database\fR switch of the \fBgsec\fR\|(1) utility. Note that in \fBgsec\fR\|(1) this switch is mostly used to specify remote server you want to administer. In \fBfbsvcmgr\fR the name of the server is already given in services manager name (first parameter), therefore this parameter in most cases is not needed. .RE .RS 4 .RE .IP "Items added in firebird 2.5" 4 .IX Item "Items added in firebird 2.5" .RS 4 .PD 0 .IP "bkp_no_triggers" 4 .IX Item "bkp_no_triggers" .PD specify it to avoid executing database-wide triggers .RE .RS 4 .RE .SH "AUTHOR" .IX Header "AUTHOR" Alex Peshkov, \*(L"peshkoff at mail.ru\*(R" .PP This manual page was written by Damyan Ivanov dmn@debian.org for the Debian project. Permission is granted to use this document, with or without modifications, provided that this notice is retained. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return.