Environment Variables
The following sections discuss the environment variables used by Informix products.
ARC_DEFAULT
When you use the ON-Archive archive and tape-management system for Universal Server, you can set the ARC_DEFAULT environment variable to indicate where a personal default qualifier file is located.
For example, to set the ARC_DEFAULT environment variable to specify the file /usr/jane/arcdefault.janeroe, enter the following command:
For more information on archiving, see the INFORMIX-Universal Server Archive and Backup Guide.
ARC_KEYPAD
If you use the ON-Archive archive and tape-management system for Universal Server, you can set your ARC_KEYPAD environment variable to point to a tctermcap file that is different from the default tctermcap file. The default is the $INFORMIXDIR/etc/tctermcap file, and it contains instructions on how to modify the tctermcap file.
The tctermcap file serves the following purposes for the ON-Archive menu interface:
For example, to set the ARC_KEYPAD environment variable to specify the file /usr/jane/tctermcap.janeroe, enter the following command:
For more information on archiving, see the INFORMIX-Universal Server Archive and Backup Guide.
DBANSIWARN
Setting the DBANSIWARN environment variable indicates that you want to check for Informix extensions to ANSI-standard syntax. Unlike most environment variables, you do not need to set DBANSIWARN to a value; setting it to any value or to no value, as the following diagram shows, is sufficient.

|
Setting the DBANSIWARN environment variable for DB-Access is functionally equivalent to including the -ansi flag when invoking the utility from the command line. If you set DBANSIWARN before you run DB-Access, warnings are displayed on the screen within the SQL menu.
Set the DBANSIWARN environment variable before you compile an INFORMIX-ESQL/C program to check for Informix extensions to ANSI standard syntax. When Informix extensions to ANSI-standard syntax are encountered in your program at compile time, warning messages are written to the screen.
At run time, the DBANSIWARN environment variable causes the SQL Communication Area (SQLCA) variable sqlca.sqlwarn.sqlwarn5 to be set to W when a statement that is not ANSI-compliant is executed. (For more information on SQLCA, see the INFORMIX-ESQL/C Programmer's Manual.)
Once you set DBANSIWARN, Informix extension checking is automatic until you log out or unset DBANSIWARN. To turn off Informix extension checking, unset the DBANSIWARN environment variable by entering the following command:
DBBLOBBUF
The DBBLOBBUF environment variable controls whether a simple large object, namely TEXT or BYTE, is stored temporarily in memory or in a file while being unloaded with the UNLOAD statement. The term, DBBLOBBUF, is used for historical reasons, even though it represents the size of simple large objects, and not of BLOBs, which are smart large objects.
If the simple large object is smaller than the default of 10 coagulates or the setting of the DBBLOBBUF environment variable, it is temporarily stored in memory. If the simple large object is larger than the default or the setting of the environment variable, it is written to a temporary file. This environment variable applies to the UNLOAD command only.
For instance, to set a buffer size of 15 kilobytes, set the DBBLOBBUF environment variable as the following example shows:
In the example, any blobs smaller than 15 kilobytes are stored temporarily in memory. Blobs larger than 15 kilobytes are stored temporarily in a file.
DBCENTURY
The environment variable DBCENTURY allows you to choose the appropriate expansion for two-digit year DATE and DATETIME values.
Previously, if only the decade was provided for a literal DATE or DATETIME value in a table column, the present century was used to expand the year. For example, 12/31/96 would have been expanded to 12/31/1996. With this release, three new algorithms are added to complete the century value of a year: past (P ), future (F ), and closest (C ).
When the DBCENTURY environment variable is not set, the current century is used as the system default.
You can override the default by specifying all four digits.
The following examples illustrate how the DBCENTURY environment variable expands DATE and DATETIME year formats.
Behavior of DBCENTURY = P
Behavior of DBCENTURY = F
Behavior of DBCENTURY = C
Behavior of DBCENTURY = R
DBDATE
The DBDATE environment variable specifies the end-user formats of DATE values. End-user formats affect the following situations:
This section describes standard DBDATE formats. For a description of era-based formats, see the Guide to GLS Functionality. 
With standard formats, you can specify the following attributes:
For the U.S. ASCII English locale, the default setting for DBDATE is MDY4/ , where M represents the month, D represents the day, Y4 represents a four-digit year, and slash (/ ) is a separator (for example, 10/08/1994 ).
Other acceptable characters for the separator are a hyphen (-), a period (.), or a zero (0). Use the zero to indicate no separator.
The slash (/ ) appears if you attempt to use a character other than a hyphen, period, or zero as a separator, or if you do not include a separator character in the DBDATE definition.
The following table shows a few variations of setting the DBDATE environment variable.
Notice that the formats Y4MD * (the asterisk is an unacceptable separator) and MDY4 (no separator is defined) both display the default (slash) as a separator.
DBDELIMITER
The DBDELIMITER environment variable specifies the field delimiter used by the dbexport utility and with the LOAD and UNLOAD statements.
The delimiter can be any single character, except the characters in the following list:
The vertical bar (|= ASCII 124 ) is the default. To change the field delimiter to a plus (+), set the DBDELIMITER environment variable, as shown in the following example:
DBEDIT
The DBEDIT environment variable lets you name the text editor that you want to use to work with SQL statements and command files in DB-Access. If DBEDIT is set, the specified editor is called directly. If DBEDIT is not set, you are prompted to specify an editor as the default for the rest of the session.
For most systems, the default editor is vi. If you use another editor, be sure that it creates flat ASCII files. Some word processors in document mode introduce printer control characters that can interfere with the operation of your Informix product.
To specify the EMACS text editor, set the DBEDIT environment variable by entering the following command:
DBFLTMASK
By default, Informix client applications (including DB-Access utility or any ESQL program) display the floating-point values of data types FLOAT, SMALLFLOAT, and DECIMAL with 16 digits to the right of the decimal point. However, the actual number of decimal digits displayed depends on the size of the character buffer.
To override the default number of decimal digits in the display, you can set the DBFLTMASK environment variable to the number of digits desired.
DBLANG
The DBLANG environment variable specifies the subdirectory of $INFORMIXDIR or the full pathname of the directory that contains the compiled message files used by an Informix product.
By default, Informix products put compiled messages in a locale-specific subdirectory of the $INFORMIXDIR/msg directory. These compiled message files have the suffix .iem. If you want to use a message directory other than $INFORMIXDIR/msg, where, for example, you can store message files that you have created, perform the following steps.
To use a non-default message directory
1. Use the mkdir command to create the appropriate directory for the message files. You can make this directory under the directory $INFORMIXDIR or $INFORMIXDIR/msg or you can make it under any other directory.
2. Set the owner and group of the new directory to informix and the access permission for this directory to 755 .
3. Set the DBLANG environment variable to the new directory. If this directory is a subdirectory of $INFORMIXDIR or $INFORMIXDIR/msg, you only need to list the relative path to the new directory. Otherwise, you must specify the full pathname of the directory.
4. Copy the .iem files or the message files that you created to the new message directory specified by $DBLANG. All the files in the message directory should have the owner and group informix and access permission 644 .
Informix products that use the default U.S. ASCII English locale search for message files in the following order:
1. In $DBLANG, if DBLANG is set to a full pathname
2. In $INFORMIXDIR/msg/$DBLANG, if DBLANG is set to a relative pathname
3. In $INFORMIXDIR/$DBLANG, if DBLANG is set to a relative pathname
4. In $INFORMIXDIR/msg/en_us/0333
5. In $INFORMIXDIR/msg/en_us.8859-1
6. In $INFORMIXDIR/msg
7. In $INFORMIXDIR/msg/english
For more information on access paths for messages, see the description of DBLANG in the Guide to GLS Functionality. 
DBMONEY
The DBMONEY environment variable specifies the display format of monetary values using FLOAT, DECIMAL, or MONEY data types.
If you use any character except an alphabetic character for front or back, you must enclose the character in quotes.
When you display MONEY values, Informix products use the DBMONEY environment variable to format the output.
If you do not set DBMONEY, then MONEY values for the default locale, U.S. ASCII English, are formatted with a dollar sign ($) preceding the MONEY value, a period (.) separating the integral from the fractional part of the MONEY value, and no back symbol. For example, 10050 is formatted as $100.50 .
Suppose you want to represent MONEY values in DM (Deutsche Mark), which uses the currency symbol DM and a comma. Set the DBMONEY environment variable by entering the following command:
Here, DM is the currency symbol preceding the MONEY value, and a comma separates the integral from the fractional part of the MONEY value. As a result, the amount 10050 is displayed as DM100,50 .
For more information about how the DBMONEY environment variable handles MONEY formats for nondefault locales, see the Guide to GLS Functionality. 
DBONPLOAD
The DBONPLOAD environment variable specifies the name of the database that the onpload utility of the High-Performance Loader uses. If the DBONPLOAD environment variable is set, the specified name is the name of the database. If the DBONPLOAD environment variable is not set, the default name of the database is onpload
.
For example, to specify load_db as the name of the database, enter the following command:
DBPATH
Use DBPATH to identify the database servers that contain databases (if you are using Universal Server). The DBPATH environment variable also specifies a list of directories (in addition to the current directory) in which DB-Access looks for command scripts (.sql files).
The CONNECT, DATABASE, START DATABASE, and DROP DATABASE statements use DBPATH to locate the database under two conditions:
The CREATE DATABASE statement does not use DBPATH.
To add a new DBPATH entry to existing entries, see "Modifying the Setting of an Environment Variable".

|
DBPATH can contain up to 16 entries. Each entry (full_pathname, servername, or servername and full_pathname) must be less than 128 characters. In addition, the maximum length of DBPATH depends on the hardware platform on which you are setting DBPATH.
When you access a database using the CONNECT, DATABASE, START DATABASE, or DROP DATABASE statement, the search for the database is done first in the directory and/or database server specified in the statement. If no database server is specified, the default database server as set in the INFORMIXSERVER environment variable is used. (The default directory is the current working directory if the database server is on the local computer or your login directory if the database server is on a remote computer.) If a directory is specified but is not a full path, the directory is considered to be relative to the default directory.
If the database is not located during the initial search, and if DBPATH is set, the database servers and/or directories in DBPATH are searched for the indicated database. The entries to DBPATH are considered in order.
Using DBPATH with DB-Access
If you are using DB-Access and you use the Choose option of the SQL menu without having already selected a database, you see a list of all the .sql files in the directories listed in your DBPATH. Once you select a database, the DBPATH is not used to find the .sql files. For Universal Server databases, only the .sql files in the current working directory are displayed.
Searching Local Directories
Use a pathname without a database server name to have the database server search for databases or .sql scripts on your local computer.
In the following example, the DBPATH setting causes DB-Access to search for the database files in your current directory and then in the Joachim and Sonja directories on the local computer:
As shown in the previous example, if the pathname specifies a directory name but not a database server name, the directory is sought on the computer running the default database server as specified by the INFORMIXSERVER environment variable (see page 3-49.). For instance, with the previous example, if INFORMIXSERVER is set to quality, the DBPATH value is interpreted as shown in the following example, where the double slash precedes the database server name:
Searching Networked Computers for Databases
If you are using more than one database server, you can set DBPATH to explicitly contain the database server and/or directory names that you want to search for databases. For example, if INFORMIXSERVER is set to quality but you also want to search the marketing database server for /usr/joachim, set DBPATH as shown in the following example:
Specifying a Servername
You can set DBPATH to contain only database server names. This setting allows you to locate only databases and not locate command files.
The Universal Server or SE administrator must include each database server mentioned by DBPATH in the $INFORMIXDIR/etc/sqlhosts file. For information on communication-configuration files and dbservernames, see the INFORMIX-Universal Server Administrator's Guide.
For example, if INFORMIXSERVER is set to quality, you can search for a Universal Server database first on the quality database server and then on the marketing database server by setting DBPATH shown in the following example:
If you are using DB-Access in this example, the names of all the databases on the quality and marketing database servers are displayed with the Select option of the DATABASE menu.
DBPRINT
The DBPRINT environment variable specifies the printing program that you want to use.
The default program is found in one of two places:
Set the DBPRINT environment variable to specify the myprint print program by entering the following command:
DBREMOTECMD
You can set the DBREMOTECMD environment variable to override the default remote shell used when you perform remote tape operations with the INFORMIX-Universal Server. Set it using either a simple command or the full pathname. If you use the full pathname, the database server searches your PATH for the specified command.
Informix recommends the use of the full pathname syntax on the interactive UNIX platform to avoid problems with similarly named programs in other directories and possible confusion with the restricted shell (/usr/bin/rsh).
Set the DBREMOTECMD environment variable for a simple command name by entering the following command:
Set the DBREMOTECMD environment variable to specify the full pathname by entering the following command:
For more information on DBREMOTECMD, see the discussion in the INFORMIX-Universal Server Archive and Backup Guide about using remote tape devices with Universal Server for archives, restores, and logical-log backups.
DBSPACETEMP
If you are using Universal Server, you can set your DBSPACETEMP environment variable to specify the dbspaces in which temporary tables are to be built. You can specify multiple dbspaces to spread temporary space across any number of disks.
The DBSPACETEMP environment variable overrides the default dbspaces specified by the DBSPACETEMP configuration parameter in the Universal Server configuration file.
For example, you might set the DBSPACETEMP environment variable by entering the following command:
Separate the dbspace entries with either colons or commas. The number of dbspaces is limited by the maximum size of the environment variable, as defined by the UNIX shell. Universal Server does not create a dbspace specified by the environment variable if the dbspace does not exist.
The two classes of temporary tables are: explicit temporary tables that are created by the user and implicit temporary tables that are created by Universal Server. You use the DBSPACETEMP environment variable to specify the dbspaces for both types of temporary tables.
If you create an explicit temporary table with the CREATE TEMP TABLE statement and do not specify a dbspace for the table either in the IN dbspace clause or in the FRAGMENT BY clause, Universal Server uses the settings in the DBSPACETEMP environment variable to determine where to create the table. If the DBSPACETEMP environment variable is not set, Universal Server uses the ONCONFIG parameter DBSPACETEMP. If this parameter is not set, Universal Server creates the temporary table in the same dbspace where the database resides.
If you create an explicit temporary table with the SELECT INTO TEMP statement, Universal Server uses the settings in the DBSPACETEMP environment variable to determine where to create the table. If the DBSPACETEMP environment variable is not set, Universal Server uses the ONCONFIG parameter DBSPACETEMP. If this parameter is not set, Universal Server creates the temporary table in the root dbspace.
Universal Server creates implicit temporary tables for its own use while executing join operations, SELECT statements with the GROUP BY clause, SELECT statements with the ORDER BY clause, and index builds. When it creates these implicit temporary tables, Universal Server uses disk space for writing the temporary data, in the following order:
1. The operating system directory or directories specified by the environment variable PSORT_DBTEMP, if it is set
2. The dbspace or dbspaces specified by the environment variable DBSPACETEMP, if it is set
3. The dbspace or dbspaces specified by the ONCONFIG parameter DBSPACETEMP
4. The operating-system file space in /tmp
DBTEMP
Set the DBTEMP environment variable to specify the full pathname of the directory into which you want INFORMIX-SE or INFORMIX-Gateway products to place their temporary files and temporary tables.
Set the DBTEMP environment variable to specify the pathname usr/magda/mytemp by entering the following command:
If you do not set DBTEMP, temporary files are created in /tmp. If DBTEMP is not set, temporary tables are created in the directory of the database (that is, the .dbs directory).
Universal Server uses DBSPACETEMP to specify the location of temporary files.
DBTIME
The DBTIME environment variable specifies the end-user formats of DATETIME values for a set of SQL API library functions.
You can set the DBTIME environment variable to manipulate DATETIME formats so that the formats conform more closely to various international or local TIME conventions. DBTIME takes effect only when you call certain INFORMIX-ESQL/C DATETIME routines; otherwise, use the DBDATE environment variable. (For more information, see the INFORMIX-ESQL/C Programmer's Manual.)
You can set DBTIME to specify the exact format of an input/output (I/O) DATETIME string field by using the formatting directives described in the following list. Otherwise, the behavior of the DATETIME formatting routine is undefined.
For example, consider how to convert a DATETIME YEAR TO SECOND to the following ASCII string format:
You set DBTIME as shown in the following list:
The default DBTIME produces the conventional ANSI SQL string format shown in the following line:
The default DBTIME is set as shown in the following example:
An optional field width and precision specification can immediately follow the percent (%) character; it is interpreted as described in the following list:
[-|0]w
|
where w is a decimal digit string specifying the minimum field width. By default, the value is right justified with spaces on the left.
|
|
If - is specified, it is left justified with spaces on the right.
|
|
If 0 is specified, it is right justified and padded with zeros on the left.
|
.p
|
where p is a decimal digit string specifying the number of digits to appear for d , H , I , m , M , S , y , and Y conversions, and the maximum number of characters to be used for b and B conversions. A precision specification is significant only when converting a DATETIME value to an ASCII string and not vice versa.
|
When you use field width and precision specifications, the following limitations apply:
The F conversion does not follow the field width and precision format conversions that are described earlier.
See the discussion of DBDATE on page 3-23 for related information.
DBUPSPACE
The DBUPSPACE environment variable lets you specify and constrain the amount of system disk space that the UPDATE STATISTICS statement can use when trying to simultaneously construct multiple-column distributions.
For example, to set DBUPSPACE to 2,500 kilobytes, enter the following command:
Then no more than 2,500 kilobytes of disk space can be used during the execution of an UPDATE STATISTICS statement. If a table requires 5 megabytes of disk space for sorting, then UPDATE STATISTICS accomplishes the task in two passes; the distributions for one half of the columns are constructed with each pass.
If you try to set DBUPSPACE to any value less than 1,024 kilobytes, it is automatically set to 1,024 kilobytes, but no error message is returned. If this value is not large enough to allow more than one distribution to be constructed at a time, at least one distribution is done, even if the amount of disk space required for the one is greater than that specified in DBUPSPACE.
DELIMIDENT
The DELIMIDENT environment variable specifies that strings set off by double quotes are delimited identifiers.
You can use delimited identifiers to specify identifiers that are identical to reserved keywords, such as TABLE or USAGE. You can also use them to specify database identifiers that contain nonalphabetical characters, but you cannot use them to specify storage identifiers that contain nonalphabetical characters. Note that database identifiers are names for database objects such as tables and columns, and storage identifiers are names for storage objects such as dbspaces and blobspaces.
Delimited identifiers are case sensitive. To use delimited identifiers, applications in ESQL/C must set the DELIMIDENT environment variable at compile time and execute time.
ENVIGNORE
Use the ENVIGNORE environment variable to deactivate specified environment-variable entries in the common (shared) and private environment-configuration files, informix.rc and .informix respectively.
For example, to ignore the DBPATH and DBMONEY entries in the environment-configuration files, enter the following command:
The common environment-configuration file is stored in $INFORMIXDIR/etc/informix.rc. The private environment-configuration file is stored in the home directory of the user as .informix. For information on how to create or modify an environment-configuration file, see "Setting Environment Variables in an Environment-Configuration File".
ENVIGNORE cannot be set in an environment-configuration file.
FET_BUF_SIZE
The FET_BUF_SIZE environment variable lets you override the default setting for the size of the fetch buffer for all data except blobs. When set, FET_BUF_SIZE is effective for the entire environment.
When set to a valid value, the environment variable overrides the previously set value. The default setting for the fetch buffer is dependent on row size.
If the buffer size is set to less than the default size or is out of the range of the small integer value, no error is raised. The new buffer size is ignored.
For example, to set a buffer size to 5,000 bytes, set the FET_BUF_SIZE environment variable by entering the following command:
INFORMIXC
The INFORMIXC environment variable specifies the name or pathname of the C compiler to be used to compile files generated by INFORMIX-ESQL/C. If INFORMIXC is not set, the default compiler is cc.
For example, to specify the GNU C compiler, enter the following command:
The setting is required only during the C compilation stage.
INFORMIXCONCSMCFG
The INFORMIXCONCSMCFG environment variable specifies the location of the concsm.cfg file, which describes communications support modules
For example, the following command specifies that the concsm.cfg file is in /usr/myfiles.
You can also specify a different name for the file. The following command specifies a filename of csmconfig.
The default location of the concsm.cfg file is $INFORMIXDIR/etc file. For more information about communications support modules and the content of the concsm.cfg file, refer to the INFORMIX-Universal Server Administrator's Guide.
INFORMIXCONRETRY
The INFORMIXCONRETRY environment variable specifies the maximum number of additional connection attempts that should be made to each server by the client during the time limit specified by the INFORMIXCONTIME environment variable.
For example, set INFORMIXCONRETRY to three additional connection attempts (after the initial attempt) by entering the following command:
The default value for INFORMIXCONRETRY is one retry after the initial connection attempt. The INFORMIXCONTIME setting, described in the following section, takes precedence over the INFORMIXCONRETRY setting.
INFORMIXCONTIME
The INFORMIXCONTIME environment variable lets you specify that an SQL CONNECT statement should keep trying for at least the given number of seconds before returning an error.
You might encounter connection difficulties related to system or network load problems. For instance, if the database server is busy establishing new SQL client threads, some clients might fail because the server cannot issue a network function call fast enough. The INFORMIXCONTIME and INFORMIXCONRETRY environment variables let you configure your client-side connection capability to retry the connection instead of returning an error.
For example, set INFORMIXCONTIME to 60 seconds by entering the following command:
If INFORMIXCONTIME is set to 60 and INFORMIXCONRETRY is set to 3 , as shown in these examples, attempts to connect to the server (after the initial attempt at 0 seconds) will be made at 20 , 40 , and 60 seconds, if necessary, before aborting. This 20-second interval is the result of INFORMIXCONTIME divided by INFORMIXCONRETRY.
If execution of the CONNECT statement involves searching DBPATH, the following rules apply:
The default value for INFORMIXCONTIME is 15 seconds. The setting for INFORMIXCONTIME takes precedence over the INFORMIXCONRETRY setting. Retry efforts could end after the INFORMIXCONTIME value has been exceeded, but before the INFORMIXCONRETRY value has been reached.
INFORMIXDIR
The INFORMIXDIR environment variable specifies the directory that contains the subdirectories in which your product files are installed. You must always set INFORMIXDIR. If you have multiple versions of Universal Server, set INFORMIXDIR to the appropriate directory name for the version that you want to access. For information about when to set the INFORMIXDIR environment variable, see the INFORMIX-Universal Server Installation Guide.
Set the INFORMIXDIR environment variable to the desired installation directory by entering the following command:
INFORMIXKEYTAB
The INFORMIXKEYTAB environment variable specifies the location of the keytab file that is used by the optional DCE-GSS communications support module.
For example, the following command specifies that the name and location of the keytab file is /usr/myfiles/mykeytab.
For more information about the DCE-GSS communications support module, refer to the INFORMIX-Universal Server Administrator's Guide.
INFORMIXOPCACHE
The INFORMIXOPCACHE environment variable lets you specify the size of the memory cache for the staging-area blobspace of the client application.

|
You set the INFORMIXOPCACHE environment variable by specifying the size of the memory cache in kilobytes. The specified size must be equal to or smaller than the size of the system-wide configuration parameter, OPCACHEMAX. If you do not set the INFORMIXOPCACHE environment variable, the default cache size is 128 kilobytes or the size specified in the configuration parameter OPCACHEMAX. The default for OPCACHEMAX is 128 kilobytes. If you set INFORMIXOPCACHE to a value of 0 , INFORMIX-OnLine/Optical does not use the cache.
INFORMIXSERVER
The INFORMIXSERVER environment variable specifies the default database server to which an explicit or implicit connection is made by an SQL API client or the DB-Access utility. The database server can be a INFORMIX-Universal Server and can be either local or remote. You must always set INFORMIXSERVER before using an Informix product.

|
The value of INFORMIXSERVER must correspond to a valid dbservername entry in the $INFORMIXDIR/etc/sqlhosts file on the computer running the application. The dbservername must be specified using lowercase characters and cannot exceed 18 characters for Universal Server. For example, specify the coral database server as the default for connection by entering the following command:
INFORMIXSERVER specifies the database server to which an application connects if the CONNECT DEFAULT statement is executed. It also defines the database server to which an initial implicit connection is established if the first statement in an application is not a CONNECT statement.
Important: INFORMIXSERVER must be set even if the application or DB-Access does not use implicit or explicit default connections.
INFORMIXSHMBASE
The INFORMIXSHMBASE environment variable affects only client applications connected to Universal Server using the IPC shared-memory (ipcshm) communication protocol.
Important: Resetting INFORMIXSHMBASE requires a thorough understanding of how the application uses memory. Normally you do not reset INFORMIXSHMBASE.
You use INFORMIXSHMBASE to specify where shared-memory communication segments are attached to the client process so that client applications can avoid collisions with other memory segments used by the application. If you do not set INFORMIXSHMBASE, the memory address of the communication segments defaults to an implementation-specific value such as 0x800000 .
Universal Server calculates the memory address where segments are attached by multiplying the value of INFORMIXSHMBASE by 1,024. For example, to set the memory address to the value 0x800000 , set the INFORMIXSHMBASE environment variable by entering the following command:
For more information, see the INFORMIX-Universal Server Administrator's Guide.
INFORMIXSQLHOSTS
The INFORMIXSQLHOSTS environment variable specifies the full pathname and filename of a file that contains connectivity information.
The file specified in the INFORMIXSQLHOSTS environment variable has the same format as the $INFORMIXDIR/etc/sqlhosts file. For a description of the $INFORMIXDIR/etc/sqlhosts file, see the INFORMIX-Universal Server Administrator's Guide.
For example, to specify that the client or database server will look for connectivity information in the mysqlhosts file in the /work/envt directory, enter the following command:
When the INFORMIXSQLHOSTS environment variable is set, the client or database server looks in the specified file for connectivity information. When the INFORMIXSQLHOSTS environment variable is not set, the client or database server looks in the $INFORMIXDIR/etc/sqlhosts file.
INFORMIXSTACKSIZE
INFORMIXSTACKSIZE specifies the stack size (in kilobytes) that Universal Server uses for a particular client session. Use INFORMIXSTACKSIZE to override the value of the ONCONFIG parameter STACKSIZE for a particular application or user.
For example, to decrease the INFORMIXSTACKSIZE to 20 kilobytes, enter the following command:
If INFORMIXSTACKSIZE is not set, the stack size is taken from the Universal Server configuration parameter STACKSIZE, or it defaults to a platform-specific value. The default stack-size value for the primary thread for an SQL client is 32 kilobytes for nonrecursive database activity.
INFORMIXTERM
The INFORMIXTERM environment variable specifies whether DB-Access should use the information in the termcap file or the terminfo directory. The termcap file and terminfo directory determine terminal-dependent keyboard and screen capabilities such as the operation of function keys, color and intensity attributes in screen displays, and the definition of window border and graphics characters.
If INFORMIXTERM is not set, the default setting is termcap. When DB-Access is installed on your system, a termcap file is placed in the etc subdirectory of $INFORMIXDIR. This file is a superset of an operating-system termcap file.
You can use the termcap file supplied by Informix, the system termcap file, or a termcap file that you create. You must set the TERMCAP environment variable if you do not use the default termcap file. For information on setting the TERMCAP environment variable, see page 3-63.
The terminfo directory contains a file for each terminal name that has been defined. The terminfo setting for INFORMIXTERM is supported only on computers that provide full support for the UNIX System V terminfo library. For details, see the Version 9.1 machine notes file for your product.
INF_ROLE_SEP
The INF_ROLE_SEP environment variable configures the security feature of role separation when Universal Server is installed. Role separation enforces separating administrative tasks that are performed by different people who are involved in running and auditing Universal Server.
If INF_ROLE_SEP is set, role separation is implemented and a separate group is specified to serve each of the following responsibilities: the database system security officer (DBSSO), the audit analysis officer (AAO), and the standard user. If INF_ROLE_SEP is not set, user informix (the default) can perform all administrative tasks.

|
See the INFORMIX-Universal Server Trusted Facility Manual to learn more about the security feature of role separation. See the INFORMIX-Universal Server Installation Guide to learn how to configure role separation when you install Universal Server.
IFX_AUTOFREE
If IFX_AUTOFREE is enabled, then memory allocated to every cursor in every thread will be automatically freed immediately upon the close of the cursor. In closing the cursor, users do not need to explicitly free server memory allocated to the cursor. This saves a network round-trip as no messages are sent to the server to free cursor memory.
When the cursor is automatically freed, its associated PREPARE statement is also freed and cannot be used to declare any new cursor thereafter.

|
If the environment variable is not set to any value, the feature is not enabled.
The SET AUTOFREE SQL syntax has the same functionality as the IFX_AUTOFREE environment variable. The IFX_AUTOFREE environment variable should be set before an application starts. The SET AUTOFREE syntax can be specified for a single cursor and overrides the setting of the environment variable for that cursor.
Important: The environment variable needs to be set before the application starts for the setting to take effect.
The SQL statement SET DEFERRED_PREPARE has the same functionality as the on (1) setting of this environment variable. The SQL statement overrides the setting of this environment variable.
IFX_DEFERRED_PREPARE
The IFX_DEFERRED_PREPARE environment variable is set on the client side. It works primarily with dynamic ESQL/C cursors in applications which do a series of PREPARE/DECLARE/OPEN blocks of statements with no DESCRIBE statement following them. The setting on this environment variable optimizes the PREPARE statement.

|
If the IFX_DEFERRED_PREPARE variable is set to 1 , the PREPARE statement in an ESQL/C code is not executed until the cursor has been declared on it and opened, thus optimizing the number of round-trip messages to the server. Setting of the variable to 1 enables every PREPARE statement in every thread in the application to be optimized.
Setting the value of the IFX_DEFERRED_PREPARE environment variable to 0 disables the optimization feature. If IFX_DEFERRED_PREPARE is not set, the optimization feature is not turned on.
Important: The environment variable needs to be set before the application starts for the setting to take effect.
The SQL statement SET DEFERRED_PREPARE has the same functionality as the `on' (1) setting of this environment variable. The SQL statement overrides the setting of this environment variable.
Tip: If PREPARE/EXECUTE statements are used or if a DESCRIBE statement is executed before the first OPEN statement in the ESQL/C code when deferred prepare functionality is turned on, an error is returned.
NODEFDAC
When the NODEFDAC environment variable is set to yes , it prevents default table privileges (Select, Insert, Update, and Delete) and routine privileges from being granted to PUBLIC when a new table or routine is created in a database that is not ANSI compliant. If you do not set the NODEFDAC variable, it is, by default, set to no .

|
ONCONFIG
The ONCONFIG environment variable specifies a file that holds configuration parameters for Universal Server. This file is read as input during the initialization procedure.
Prepare the ONCONFIG file by making a copy of the onconfig.std file and modifying the copy. Informix recommends that you name the ONCONFIG file so it can easily be related to a specific Universal Server database server. If you have multiple instances of Universal Server, each instance must have its own uniquely named ONCONFIG file.
If you do not set the ONCONFIG environment variable, the default filename is onconfig.
For more information, see the INFORMIX-Universal Server Administrator's Guide.
OPTCOMPIND
You can set the OPTCOMPIND environment variable so that the optimizer can select the appropriate join method. The OPTCOMPIND environment variable applies only to Universal Server.

|
When the OPTCOMPIND environment variable is not set, Universal Server uses the value specified for the ONCONFIG configuration parameter OPTCOMPIND. When neither the environment variable nor the configuration parameter is set, the default value is 2 .
For more information on the ONCONFIG configuration parameter OPTCOMPIND, see the INFORMIX-Universal Server Administrator's Guide. For more information on the different join methods used by the optimizer, see the INFORMIX-Universal Server Performance Guide.
PATH
The UNIX PATH environment variable tells the shell which directories to search for executable programs. You must add the directory that contains your Informix product to your PATH environment variable before you can use the product.
You can specify the correct search path in various ways. Be sure to include a colon between the directory names.
For additional information about how to modify your path, see "Modifying the Setting of an Environment Variable".
PDQPRIORITY
The PDQPRIORITY environment variable determines the degree of parallelism used by Universal Server. PDQPRIORITY affects how Universal Server allocates resources, including memory, processors, and disk reads.
When the PDQPRIORITY environment variable is not set, the default value is OFF .
When the environment variable is set to HIGH, the database server determines an appropriate value to use for PDQPRIORITY based on several criteria, including the number of available processors, the fragmentation of tables queried, the complexity of the query, and so on.
Usually the more resources Universal Server uses, the better its performance for a given query, but using too many resources can cause contention among the resources and also take away resources from other queries, resulting in degraded performance.
An application can override the setting of the environment variable when it issues the SQL statement SET PDQPRIORITY, which is described in the Informix Guide to SQL: Syntax.
PLCONFIG
The PLCONFIG environment variable specifies the name of the configuration file that the High-Performance Loader uses. This configuration file must reside in the $INFORMIXDIR/etc directory. If the PLCONFIG environment variable is not set, the default configuration file is the $INFORMIXDIR/etc/plconfig file.
For example, to specify the $INFORMIXDIR/etc/custom.cfg file as the configuration file for the High-Performance Loader, enter the following command:
PSORT_DBTEMP
The PSORT_DBTEMP environment variable specifies a directory or directories where the Universal Server writes the temporary files it uses when performing a sort.
Universal Server uses the directory specified by PSORT_DBTEMP even if the environment variable PSORT_NPROCS is not set.
Set the PSORT_DBTEMP environment variable to specify the directory (for example, /usr/leif/tempsort) by entering the following command:
For maximum performance, specify directories that reside in file systems on different disks.
You also might want to consider setting the environment variable DBSPACETEMP to place temporary files used in sorting in dbspaces rather than operating-system files. See the discussion of the DBSPACETEMP environment variable on page 3-36.
For additional information about the PSORT_DBTEMP environment variable, see the INFORMIX-Universal Server Administrator's Guide as well as the INFORMIX-Universal Server Performance Guide.
PSORT_NPROCS
The PSORT_NPROCS environment variable enables Universal Server to improve the performance of the parallel-process sorting package by allocating more threads for sorting. Before the sorting package performs a parallel sort, make sure that Universal Server has enough memory for the sort.
Use the following command to set the PSORT_NPROCS environment variable to 4 :
To maximize the effectiveness of the parallel sort, set PSORT_NPROCS to the number of available processors in the hardware.
You can disable parallel sorting by entering the following command:
Default Values for Ordinary Sorts
If the PSORT_NPROCS environment variable is set, Universal Server uses the specified number of sort threads as an upper limit for ordinary sorts.
If PSORT_NPROCS is not set, parallel sorting does not take place. Universal Server uses one thread for the sort.
If PSORT_NPROCS is set to 0 , Universal Server uses three threads for the sort.
Default Values for Attached Indexes
The default number of threads is different for attached indexes.
If the PSORT_NPROCS environment variable is set, you get the specified number of sort threads for each fragment of the index that is being built.
If the PSORT_NPROCS environment variable is not set, or if it is set to 0 , you get two sort threads for each fragment of the index unless you have a single-CPU virtual processor. If you have a single-CPU virtual processor, you get one sort thread for each fragment of the index.
For additional information about the PSORT_NPROCS environment variable, see the INFORMIX-Universal Server Administrator's Guide as well as the INFORMIX-Universal Server Performance Guide.
TERM
The UNIX TERM environment variable is used for terminal handling. It enables DB-Access to recognize and communicate with the terminal you are using.
The terminal type specified in the TERM setting must correspond to an entry in the termcap file or terminfo directory. Before you can set the TERM environment variable, you must obtain the code for your terminal from the DBA.
For example, to specify the vt100 terminal, set the TERM environment variable by entering the following command:
TERMCAP
The TERMCAP environment variable is used for terminal handling. It tells DB-Access to communicate with the termcap file instead of the terminfo directory.
The termcap file contains a list of various types of terminals and their characteristics. For example, you can provide DB-Access terminal-handling information, which is specified in the /usr/informix/etc/termcap file, by entering the following command:
You can use any of the following settings for TERMCAP. They are used in the following order:
1. The termcap file that you create
2. The termcap file supplied by Informix (that is, $INFORMIXDIR/etc/termcap)
3. The operating-system termcap file (that is, /etc/termcap)
If you set the TERMCAP environment variable, be sure that the INFORMIXTERM environment variable is set to the default, termcap.
If you do not set the TERMCAP environment variable, the system file (that is, /etc/termcap) is used by default.
TERMINFO
The TERMINFO environment variable is used for terminal handling. It is supported only on platforms that provide full support for the terminfo libraries provided by System V and Solaris UNIX systems.
TERMINFO tells DB-Access to communicate with the terminfo directory instead of the termcap file. The terminfo directory has subdirectories that contain files that pertain to terminals and their characteristics.
Set TERMINFO by entering the following command:
If you set the TERMINFO environment variable, you must also set the INFORMIXTERM environment variable to terminfo.
THREADLIB
You use the THREADLIB environment variable to compile multithreaded ESQL/C applications. A multithreaded ESQL/C application lets you establish as many connections to one or more databases as there are threads. These connections can remain active while the application program executes.
The THREADLIB environment variable indicates which thread package to use when you compile an application. Currently only the Distributed Computing Environment (DCE) is supported.
The THREADLIB environment variable is checked when the -thread option is passed to the ESQL/C script when you compile a multithreaded ESQL/C application. When you use the -thread option while compiling, the ESQL/C script generates an error if the THREADLIB environment variable is not set or if the variable is set to an unsupported thread package.
|