Using a Package Manager to Install Advanced Server v10

You can use the yum package manager to install Advanced Server or Advanced Server supporting components. yum will attempt to satisfy package dependencies as it installs a package, but requires access to the Advanced Server repositories. If your system does not have access to a repository via the Internet, you can use RPM to install an individual package or create a local repository, but you may be required to manually satisfy package dependencies.

For a list of the RPM installers available from EnterpriseDB for Advanced Server and supporting components, see Advanced Server RPM Packages.

Installing the server package creates a database superuser named enterprisedb. The user is assigned a user ID (UID) and a group ID (GID) of 26. The user has no default password; use the passwd command to assign a password for the user. The default shell for the user is bash, and the user's home directory is /var/lib/edb/as10.

By default, Advanced Server logging is configured to write files to the log subdirectory of the data directory, rotating the files each day and retaining one week of log entries. You can customize the logging behavior of the server by modifying the postgresql.conf file. For more information about Modifying the postgresql.conf File, see the EDB Postgres Advanced Server Guide available at:

https://www.enterprisedb.com/docs

The RPM installers place Advanced Server components in the directories listed in the table below:

ComponentLocation
Executables/usr/edb/as10/bin
Libraries/usr/edb/as10/lib
Cluster configuration files/etc/edb/as10
Documentation/usr/edb/as10/share/doc
Contrib/usr/edb/as10/share/contrib
Data/var/lib/edb/as10/data
Logs/var/log/as10
Lock files/var/lock/as10
Log rotation file/etc/logrotate.d/as10
Sudo configuration file/etc/sudoers.d/as10
Binary to access VIP without sudo/usr/edb/as10/bin/secure
Backup area/var/lib/edb/as10/backups
Templates/usr/edb/as10/share
Procedural Languages/usr/edb/as10/lib or /usr/edb/as10/lib64
Development Headers/usr/edb/as10/include
Shared data/usr/edb/as10/share
Regression tests/usr/edb/as10/lib/pgxs/src/test/regress
SGML Documentation/usr/edb/as10/share/doc

Installation Pre-requisites

Before using an RPM package to install Advanced Server on a Linux host, you must:

Install Linux-specific Software Requirements

You must install xterm, konsole, or gnome-terminal before executing any console-based program installed by the Advanced Server installer. Without a console program, you will not be able to access Advanced Server configuration files through menu selections.

Before invoking the StackBuilder Plus utility, you must install the redhat-lsb package. To install the package, open a terminal window, assume superuser privileges, and enter:

yum install redhat-lsb

Migration Toolkit or EDB*Plus Installation Prerequisites

On a Linux system, you can use the yum package manager to install Java. Open a terminal window, assume superuser privileges, and enter:

yum install java

Follow the onscreen instructions to complete the installation.

SELinux Permissions

Before invoking the installer on a system that is running SELinux, you must set SELinux to permissive mode.

The following example works on Redhat Enterprise Linux, Fedora Core or CentOS distributions. Use comparable commands that are compatible with your Linux distribution to set SELinux to permissive mode during installation and return it to enforcing mode when installation is complete.

Before installing Advanced Server, set SELinux to permissive mode with the command:

setenforce Permissive

When the installation is complete, return SELinux to enforcing mode with the command:

setenforce Enforcing

Request Credentials to the EnterpriseDB Repository

Before installing the repository configuration file, you must have credentials that allow access to the EnterpriseDB repository. For information about requesting credentials, visit:

https://www.enterprisedb.com/user/login

After receiving your repository credentials you can:

  • Create the repository configuration file.
  • Modify the file, providing your user name and password.
  • Install Advanced Server.

Installing Advanced Server on a CentOS Host

You can use an RPM package to install Advanced Server on a CentOS host.

  • To install the repository configuration file, assume superuser privileges and invoke the following platform specific command:

    On CentOS 7:

    yum -y install https://yum.enterprisedb.com/edbrepos/edb-repo-latest.noarch.rpm
  • Replace the USERNAME:PASSWORD variable in the following command with the username and password of a registered EnterpriseDB user:

    sed -i "s@<username>:<password>@USERNAME:PASSWORD@" /etc/yum.repos.d/edb.repo
  • Before installing Advanced Server, you must install the epel-release package:

    On CentOS 7:

    yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

The repository configuration file is named edb.repo. The file resides in /etc/yum.repos.d.

After saving your changes to the configuration file, you can use yum install command to install Advanced Server. For example, to install the server and its core components, use the command:

  • On CentOS 7:

    yum -y install edb-as10-server

When you install an RPM package that is signed by a source that is not recognized by your system, yum may ask for your permission to import the key to your local server. If prompted, and you are satisfied that the packages come from a trustworthy source, enter a y, and press Return to continue.

After installing Advanced Server, you must configure the installation. For more information, see Configuring a Package Installation.

Note

During the installation, yum may encounter a dependency that it cannot resolve. If it does, it will provide a list of the required dependencies that you must manually resolve.

Installing Advanced Server on a RHEL Host

You can use an RPM package to install Advanced Server on a RHEL host.

  • To install the repository configuration file, assume superuser privileges and invoke the following platform specific command:

    On RHEL 7:

    yum -y install https://yum.enterprisedb.com/edbrepos/edb-repo-latest.noarch.rpm
  • Replace the USERNAME:PASSWORD variable in the following command with the username and password of a registered EnterpriseDB user:

    sed -i "s@<username>:<password>@USERNAME:PASSWORD@" /etc/yum.repos.d/edb.repo
  • Before installing Advanced Server, you must install the epel-release package:

    On RHEL 7:

    yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  • Enable the supporting repositories:

    On RHEL 7, enable the optional, extras, and HA repositories to satisfy package dependencies:

    subscription-manager repos --enable "rhel-*-optional-rpms" --enable "rhel-*-extras-rpms"  --enable "rhel-ha-for-rhel-*-server-rpms"

The repository configuration file is named edb.repo. The file resides in /etc/yum.repos.d.

After saving your changes to the configuration file, you can use yum install command to install Advanced Server. For example, to install the server and its core components, use the command:

  • On RHEL 7:

    yum -y install edb-as10-server

When you install an RPM package that is signed by a source that is not recognized by your system, yum may ask for your permission to import the key to your local server. If prompted, and you are satisfied that the packages come from a trustworthy source, enter a y, and press Return to continue.

After installing Advanced Server, you must configure the installation. For more information, see Configuring a Package Installation.

Note

During the installation, yum may encounter a dependency that it cannot resolve. If it does, it will provide a list of the required dependencies that you must manually resolve.

Advanced Server RPM Packages

The tables that follow list the RPM packages that are available from EnterpriseDB. You can also use the yum search command to access a list of the packages that are currently available from your configured repository. Open a command line, assume superuser privileges, and enter:

On RHEL or CentOS 7:

yum search <package>

Where package is the search term that specifies the name (or partial name) of a package.

The repository search will return a list of available packages that include the specified search term.

Please note: The available package list is subject to change.

Package NamePackage Installs
edb-as10-serverThis package installs core components of the Advanced Server database server.
edb-as10-server-clientClient programs and utilities that you can use to access and manage Advanced Server.
edb-as10-server-contribInstalls contributed tools and utilities that are distributed with Advanced Server. Files for these modules are installed in:

Documentation: /usr/edb/as10/share/doc

Loadable modules: /usr/edb/as10/lib

Binaries: /usr/edb/as10/bin
edb-as10-server-coreIncludes the programs needed to create the core functionality behind the Advanced Server database.
edb-as10-server-develInstalls the header files and libraries needed to compile C or C++ applications that directly interact with an Advanced Server server and the ecpg or ecpgPlus C preprocessor.
edb-as10-server-docsInstalls the readme file.
edb-as10-server-indexadvisorInstalls Advanced Server's Index Advisor feature. The Index Advisor utility helps determine which columns you should index to improve performance in a given workload.
edb-as10-server-libsProvides the essential shared libraries for any Advanced Server client program or interface.
edb-as10-server-pldebuggerThis package implements an API for debugging PL/pgSQL functions on Advanced Server.
edb-as10-server-plperlInstalls the PL/Perl procedural language for Advanced Server. Please note that the edb-as10-server-plperl package is dependent on the platform-supplied version of Perl.
edb-as10-server-plpythonInstalls the PL/Python procedural language for Advanced Server. Please note that the edb-as10-server-plpython package is dependent on the platform-supplied version of Python.
edb-as10-server-pltclInstalls the PL/Tcl procedural language for Advanced Server. Please note that the edb-as10-pltcl package is dependent on the platform-supplied version of TCL.
edb-as10-server-sqlprofilerThis package installs Advanced Server's SQL Profiler feature. SQL Profiler helps identify and optimize SQL code.
edb-as10-server-sqlprotectThis package installs Advanced Server's SQL Protect feature. SQL Protect provides protection against SQL injection attacks.
edb-as10-server-sslutilsThis package installs functionality that provides SSL support.
edb-as10-server-cloneschemaThis package installs the EDB Clone Schema extension. For more information about EDB Clone Schema, see the EDB Postgres Advanced Server Guide.
edb-as10-server-parallel-cloneThis package installs functionality that supports the EDB Clone Schema extension.
edb-as10-pgagentInstalls pgAgent; pgAgent is a job scheduler for Advanced Server. Before installing this package, you must install EPEL; for detailed information about installing EPEL, see Installation Troubleshooting.
edb-as10-edbplusThe edb-edbplus package contains the files required to install the EDB*Plus command line client. EDB*Plus commands are compatible with Oracle's SQL*Plus.
edb-icacheThis package installs InfiniteCache.
edb-icache-develThis is a supporting package for InfiniteCache.
edb-as10-pgsnmpdSNMP (Simple Network Management Protocol) is a protocol that allows you to supervise an apparatus connected to the network.
edb-as10-pljavaInstalls PL/Java, providing access to Java stored procedures, triggers and functions via the JDBC interface.
edb-as10-pgpool35-extensionsThis package creates pgPool extensions required by the server for use with pgpool.
edb-as10-slony-replicationInstalls the meta RPM for Slony-I.
edb-as10-slony-replication-coreSlony-I builds a primary-standby system that includes all features and capabilities needed to replicate large databases to a reasonably limited number of standby systems.
edb-as10-slony-replication-docsThis package contains the Slony project documentation (in pdf form).
edb-as10-slony-replication-toolsThis package contains the Slony altperl tools and utilities that are useful when deploying Slony replication environments. Before installing this package, you must install EPEL; for detailed information about installing EPEL, see Installation Troubleshooting.

The following table lists the packages for Advanced Server 10 supporting components.

Package NamePackage Installs
edb-pgpool35This package contains the pgPool-II installer. pgPool provides connection pooling for Advanced Server installations.
edb-pgpool35-develThis package contains the pgPool-II headers and libraries.
edb-jdbcThe edb-jdbc package includes the .jar files needed for Java programs to access an Advanced Server database.
edb-migrationtoolkitThe edb-migrationtoolkit package installs Migration Toolkit, facilitating migration to an Advanced Server database from Oracle, PostgreSQL, MySQL, Sybase and SQL Server.
edb-ociThe edb-oci package installs the EnterpriseDB Open Client library, allowing applications that use the Oracle Call Interface API to connect to an Advanced Server database.
edb-oci-develThis package installs the OCI include files; install this package if you are developing C/C++ applications that require these files.
edb-odbcThis package installs the driver needed for applications to access an Advanced Server system via ODBC.
edb-odbc-develThis package installs the ODBC include files; install this package if you are developing C/C++ applications that require these files.
edb-pgbouncer17This package contains PgBouncer (a lightweight connection pooler). This package requires the libevent package.
edb-xdbThis package contains the xDB installer; xDB provides asynchronous cross-database replication.
edb-xdb-consoleThis package provides support for xDB.
edb-xdb-libsThis package provides support for xDB.
edb-xdb-publisherThis package provides support for xDB.
edb-xdb-subscriberThis package provides support for xDB.

Updating an RPM Installation

If you have an existing Advanced Server RPM installation, you can use yum to upgrade your repository configuration file and update to a more recent product version. To update the edb.repo file, assume superuser privileges and enter:

  • On RHEL or CentOS 7:

    yum upgrade edb-repo

yum will update the edb.repo file to enable access to the current EDB repository, configured to connect with the credentials specified in your edb.repo file. Then, you can use yum to upgrade all packages whose names include the expression edb:

  • On RHEL or CentOS 7:

    yum upgrade edb*
Note

The yum upgrade command will only perform an update between minor releases; to update between major releases, you must use pg_upgrade.

Configuring a Package Installation

The packages that install the database server component create a unit file on version 7.x host and service startup scripts.

The PostgreSQL initdb command creates a database cluster. After installing Advanced Server, you must manually configure the service and invoke initdb to create your cluster. When invoking initdb, you can:

  • Specify environment options on the command line.
  • Include the systemd service manager on RHEL or CentOS 7.x and use a service configuration file to configure the environment.

Creating a Database Cluster and Starting the Service

After specifying any options in the service configuration file, you can create the database cluster and start the service; these steps are platform specific.

On RHEL or CentOS 7.x

To invoke initdb on a RHEL or CentOS 7.x system, with the options specified in the service configuration file, assume the identity of the operating system superuser:

su - root

Then, invoke initdb:

/usr/edb/as10/bin/edb-as-10-setup initdb

After creating the cluster, use systemctl to start, stop, or restart the service:

systemctl { start | stop | restart } edb-as-10

Specifying Cluster Options with INITDBOPTS

You can use the INITDBOPTS variable to specify your cluster configuration preferences. By default, the INITDBOPTS variable is commented out in the service configuration file; unless modified, when you run the service startup script, the new cluster will be created in a mode compatible with Oracle databases. Clusters created in this mode will contain a database named edb, and have a database superuser named enterprisedb.

To create a new cluster in PostgreSQL mode, remove the pound sign (#) in front of the INITDBOPTS variable, enabling the "---no-redwood-compat"- option. Clusters created in PostgreSQL mode will contain a database named postgres, and have a database superuser named postgres.

You may also specify multiple initdb options. For example, the following statement:

INITDBOPTS="--no-redwood-compat -U alice --locale=en_US.UTF-8"

Creates a database cluster (without compatibility features for Oracle) that contains a database named postgres that is owned by a user named alice; the cluster uses UTF-8 encoding.

In addition to the cluster configuration options documented in the PostgreSQL core documentation, Advanced Server supports the following initdb options:

--no-redwood-compat

Include the --no-redwood-compat keywords to instruct the server to create the cluster in PostgreSQL mode. When the cluster is created in PostgreSQL mode, the name of the database superuser will be postgres, the name of the default database will be postgres, and Advanced Server’s features compatible with Oracle databases will not be available to the cluster.

--redwood-like

Include the --redwood-like keywords to instruct the server to use an escape character (an empty string ('')) following the LIKE (or PostgreSQL-compatible ILIKE) operator in a SQL statement that is compatible with Oracle syntax.

--icu-short-form

Include the --icu-short-form keywords to create a cluster that uses a default ICU (International Components for Unicode) collation for all databases in the cluster. For more information about Unicode collations, refer to the EDB Postgres Advanced Server Guide available at:

https://www.enterprisedb.com/docs

For more information about using initdb, and the available cluster configuration options, see the PostgreSQL Core Documentation available at:

https://www.postgresql.org/docs/10/static/app-initdb.html

You can also view online help for initdb by assuming superuser privileges and entering:

/path_to_initdb_installation_directory/initdb --help

Where path_to_initdb_installation_directory specifies the location of the initdb binary file.

Modifying the Data Directory Location on CentOS or Redhat 7.x

On a CentOS or RedHat version 7.x host, the unit file is named edb-as-10.service and resides in /usr/lib/systemd/system. The unit file contains references to the location of the Advanced Server data directory. You should avoid making any modifications directly to the unit file because it may be overwritten during package upgrades.

By default, data files reside under /var/lib/edb/as10/data directory. To use a data directory that resides in a non-default location, perform the following steps:

  • Create a copy of the unit file under the /etc directory:

    cp /usr/lib/systemd/system/edb-as-10.service /etc/systemd/system/
  • After copying the unit file to the new location, modify the service file /etc/systemd/system/edb-as-10.service with your editor of choice, correcting any required paths.

  • Use the following command to reload systemd, updating the modified service scripts:

    systemctl daemon-reload
  • Start the Advanced Server service with the following command:

    systemctl start edb-as-10

Starting Multiple Postmasters with Different Clusters

You can configure Advanced Server to use multiple postmasters, each with its own database cluster. The steps required are version specific to the Linux host.

On RHEL or CentOS 7.x

The edb-as10-server-core RPM for version 7.x contains a unit file that starts the Advanced Server instance. The file allows you to start multiple services, with unique data directories and that monitor different ports. You must have root access to invoke or modify the script.

The example that follows creates an Advanced Server installation with two instances; the secondary instance is named secondary:

  • Make a copy of the default file with the new name. As noted at the top of the file, all modifications must reside under /etc. You must pick a name that is not already used in /etc/systemd/system.

    cp /usr/lib/systemd/system/edb-as-10.service /etc/systemd/system/secondary-edb-as-10.service
  • Edit the file, changing PGDATA to point to the new data directory that you will create the cluster against.

  • Create the target PGDATA with user enterprisedb.

  • Run initdb, specifying the setup script:

    /usr/edb/as10/bin/edb-as-10-setup initdb secondary-edb-as-10
  • Edit the postgresql.conf file for the new instance, specifying the port, the IP address, TCP/IP settings, etc.

  • Make sure that new cluster runs after a reboot:

    systemctl enable secondary-edb-as-10
  • Start the second cluster with the following command:

    systemctl start secondary-edb-as-10

Creating an Advanced Server Repository on an Isolated Network

You can create a local repository to act as a host for the Advanced Server RPM packages if the server on which you wish to install Advanced Server (or supporting components) cannot directly access the EnterpriseDB repository. Please note that this is a high-level listing of the steps requires; you will need to modify the process for your individual network.

To create and use a local repository, you must:

  • Use yum to install the epel-release, yum-utils, and createrepo packages.

    On RHEL or CentOS 7.x:

    yum install epel-release
    yum install yum-utils
    yum install createrepo
  • Create a directory in which to store the repository:

    mkdir /srv/repos
  • Copy the RPM installation packages to your local repository. You can download the individual packages or use a tarball to populate the repository. The packages are available from the EnterpriseDB repository at https://repos.enterprisedb.com/.

  • Sync the RPM packages and create the repository.

    reposync -r edbas10 -p /srv/repos
    createrepo /srv/repos
  • Install your preferred webserver on the host that will act as your local repository, and ensure that the repository directory is accessible to the other servers on your network. For example, you might install lighttpd:

    yum install lighttpd
  • If you are using lighttpd, you must provide a configuration file that identifies the location of the repository on your local network. For example, the configuration file might contain:

    $HTTP["host"] == "yum.domain.com"{
      server.document-root = "/srv/repos"
      server.errorlog="/var/log/lighttpd/yum_error.log"
      accesslog.filename ="/var/log/lighttpd/yum_access.log"}

    For detailed information about installing, configuring and using lighttpd, visit the official project site at http://redmine.lighttpd.net/projects/1/wiki/Docs.

  • On each isolated database server, configure yum to pull updates from the mirrored repository on your local network. For example, you might create a repository configuration file called /etc/yum.repos.d/edb-repo with connection information that specifies:

    [edbas10]
    name=EnterpriseDB Advanced Server 10
    baseurl=http://yum.domain.com/edbas10
    enabled=1
    gpgcheck=0

After specifying the location and connection information for your local repository, you can use yum command to install Advanced Server and its supporting components on the isolated servers. For example:

  • On RHEL or CentOS 7:

    yum -y install edb-as10-server

For more information about creating a local yum repository, visit:

https://wiki.centos.org/HowTos/CreateLocalRepos

Using the Graphical Installer on a Linux System

During the installation, the graphical installer copies a number of temporary files to the /tmp directory on Linux. If invoking the installer from the command line, you can set the value of the variable on the command line by using the following command:

export TEMP=temp_file_location

Where temp_file_location specifies the alternate location for the temporary files.

Note
  • Before invoking the installer on a Linux system, you must have superuser privileges to perform an Advanced Server installation.
  • If you are invoking the installer to perform a system upgrade, the installer will preserve the configuration options specified during the previous installation.

Setting Cluster Preferences during a Graphical Installation

During an installation, the graphical installer invokes the PostgreSQL initdb utility to initialize a cluster. If you are using the graphical installer, you can use the INITDBOPTS environment variable to specify your initdb preferences. Before invoking the graphical installer, set the value of INITDBOPTS at the command line, specifying one or more cluster options. For example, on Linux use an export statement to set the value:

export INITDBOPTS="-k -E=UTF-8" 

On Linux, enclose the options in double-quotes (").

For more information about using initdb cluster configuration options, see the PostgreSQL Core Documentation available at:

https://www.postgresql.org/docs/10/static/app-initdb.html

Performing a Graphical Installation

A graphical installation wizard provides a quick and easy way to install Advanced Server. As the Setup wizard’s easy-to-follow dialogs lead you through the installation process, specify information about your system, your system usage, and the modules that will best complement your installation of Advanced Server. When you have completed the dialogs, the installer performs an installation based on the selections made during the setup process.

To use the graphical installation wizard, you must have superuser privileges. To invoke the Setup wizard, open a Terminal window, navigate to the directory that contains the Advanced Server installer, and enter the command:

./edb-as10-server-10.x.x.x-linux-x64.run

When the Language Selection popup opens, select an installation language and click OK to continue to the Setup window.

Advanced Server installer Welcome window

Fig. 1: The Advanced Server installer Welcome window

Click Next to continue.

The EnterpriseDB License Agreement window opens.

Enterprisedb License Agreement

Fig. 2: The EnterpriseDB License Agreement

Carefully review the license agreement before highlighting the appropriate radio button; click Next to continue.

The User Authentication window opens.

The User Authentication

Fig. 3: The User Authentication window

Before continuing, you must provide the email address and password associated with your EnterpriseDB user account. Registration is free; if you do not have an EnterpriseDB user account, click the link provided to open a web browser, and supply your user information.

Enter the email address of a registered account in the Email field, and the corresponding password in the Password field, and click Next to continue.

The Installation Directory window opens.

The Installation Directory window

Fig. 4: The Installation Directory window

By default, the Advanced Server installation directory is:

/opt/edb/as10

You can accept the default installation location, and click Next to continue, or optionally click the File Browser icon to open the Browse For Folder dialog to choose an alternate installation directory.

The Select Components window

Fig. 5: The Select Components window

The Select Components window contains a list of optional components that you can install with the Advanced Server Setup wizard. You can omit a module from the Advanced Server installation by deselecting the box next to the components name.

The Setup wizard can install the following components while installing Advanced Server 10:

EDB Postgres Advanced Server

Select the EDB Postgres Advanced Server option to install Advanced Server.

pgAdmin 4

Select the pgAdmin 4 option to install the pgAdmin 4 client. pgAdmin 4 provides a powerful graphical interface for database management and monitoring.

StackBuilder Plus

The StackBuilder Plus utility is a graphical tool that can update installed products, or download and add supporting modules (and the resulting dependencies) after your Advanced Server setup and installation completes. See Using StackBuilder Plus for more information about StackBuilder Plus.

Command Line Tools

The Command Line Tools option installs command line tools and supporting client libraries including:

  • libpq
  • psql
  • EDB*Loader
  • ecpgPlus
  • pg_basebackup, pg_dump, and pg_restore
  • pg_bench and more.
Note

The Command Line Tools are required if you are installing Advanced Server or pgAdmin 4.

After selecting the components you wish to install, click Next to open the Additional Directories window.

The Additional Directories window

Fig. 6: The Additional Directories window

Use the fields in the Additional Directories window to specify locations for the Advanced Server Data Directory and Write-Ahead Log (WAL) Directory.

The default Data Directory is /opt/edb/as10/data. You can use the file selector icon to specify an alternate location.

The default location of the Advanced Server Write-Ahead Log (WAL) Directory is opt/edb/as10/data/pg_wal. Accept the default location, or specify an alternate location with the file selector icon.

Advanced Server uses write-ahead logs to promote transaction safety and speed transaction processing; when you make a change to a table, the change is stored in shared memory and a record of the change is written to the write-ahead log. When you perform a COMMIT, Advanced Server writes contents of the write-ahead log to disk.

Accept the default file locations, or use the File Browser icon to select an alternate location; click Next to continue to the Advanced Server Dialect window.

The Advanced Server Dialect window

Fig. 7: The Advanced Server Dialect window

Use the drop-down listbox on the Advanced Server Dialect window to choose a server dialect. The server dialect specifies the compatibility features supported by Advanced Server.

By default, Advanced Server installs in Compatible with Oracle mode; you can choose between Compatible with Oracle and Compatible with PostgreSQL installation modes.

Compatible with Oracle

If you select Compatible with Oracle, the installation will include the following features:

  • Data dictionary views that is compatible with Oracle databases.
  • Oracle data type conversions.
  • Date values displayed in a format compatible with Oracle syntax.
  • Support for Oracle-styled concatenation rules (if you concatenate a string value with a NULL value, the returned value is the value of the string).
  • Schemas (dbo and sys) compatible with Oracle databases added to the SEARCH_PATH.
  • Support for the following Oracle built-in packages:
PackageFunctionality compatible with Oracle Databases
dbms_alertProvides the capability to register for, send, and receive alerts.
dbms_aqProvides queueing functionality for Advanced Server.
dbms_aqadmProvides supporting functionality for dbms_aq.
dbms_cryptoProvides a way to encrypt or decrypt RAW, BLOB or CLOB data.
dbms_jobImplements job-scheduling functionality.
dbms_lobProvides the ability to manage large objects.
dbms_lockProvides support for the DBMS_LOCK.SLEEP procedure.
dbms_mviewProvides a way to manage and refresh materialized views.
dbms_outputProvides the ability to display a message on the client.
dbms_pipeProvides the ability to send a message from one session and read it in another session.
dbms_profilerCollects and stores performance data about PL/pgSQL and SPL statements.
dbms_randomProvides a way to generate random numbers.
dbms_rlsImplements row level security.
dbms_schedulerProvides a way to create and manage Oracle-style jobs.
dbms_sessionA partial implementation that provides support for DBMS_SESSION.SET_ROLE.
dbms_sqlImplements use of Dynamic SQL
dbms_utilityProvides a collection of misc functions and procedures.
utl_encodeProvides a way to encode or decode data.
utl_fileProvides a way for a function, procedure or anonymous block to interact with files stored in the server’s file system.
utl_httpProvides a way to use HTTP or HTTPS to retrieve information found at a URL.
utl_mailProvides a simplified interface for sending email and attachments.
utl_rawProvides a way to manipulate or retrieve the length of raw data types.
utl_smtpImplements smtp email functions.
utl_urlProvides a way to escape illegal and reserved characters in a URL.

This is not a comprehensive list of the compatibility features for Oracle included when Advanced Server is installed in Compatible with Oracle mode; for more information, see the Database Compatibility for Oracle Developers Built-in Package Guide available from the EnterpriseDB website at:

https://www.enterprisedb.com/docs

If you choose to install in Compatible with Oracle mode, the Advanced Server superuser name is enterprisedb.

Compatible with PostgreSQL

If you select Compatible with PostgreSQL, Advanced Server will exhibit compatibility with PostgreSQL version 10. If you choose to install in Compatible with PostgreSQL mode, the default Advanced Server superuser name is postgres.

For detailed information about PostgreSQL functionality, visit the official PostgreSQL website at:

http://www.postgresql.org

After specifying a configuration mode, click Next to continue to the Password window.

The Password window

Fig. 8: The Password window

Advanced Server uses the password specified on the Password window for the database superuser. The specified password must conform to any security policies existing on the Advanced Server host.

After you enter a password in the Password field, confirm the password in the Retype Password field, and click Next to continue.

The Additional Configuration window opens.

The Additional Configuration window

Fig. 9: The Additional Configuration window

Use the fields on the Additional Configuration window to specify installation details:

  • Use the Port field to specify the port number that Advanced Server should listen to for connection requests from client applications. The default is 5444.
  • If the Locale field is set to [Default locale], Advanced Server uses the system locale as the working locale. Use the drop-down listbox next to Locale to specify an alternate locale for Advanced Server.
  • By default, the Setup wizard installs corresponding sample data for the server dialect specified by the compatibility mode (Oracle or PostgreSQL). Clear the check box next to Install sample tables and procedures if you do not wish to have sample data installed.

After verifying the information on the Additional Configuration window, click Next to open the Dynatune Dynamic Tuning: Server Utilization window.

The graphical Setup wizard facilitates performance tuning via the Dynatune Dynamic Tuning feature. Dynatune functionality allows Advanced Server to make optimal usage of the system resources available on the host machine on which it is installed.

The Dynatune Dynamic Tuning: Server Utilization window

Fig. 10: The Dynatune Dynamic Tuning: Server Utilization window

The edb_dynatune configuration parameter determines how Advanced Server allocates system resources. Use the radio buttons on the Server Utilization window to set the initial value of the edb_dynatune configuration parameter:

  • Select Development to set the value of edb_dynatune to 33. A low value dedicates the least amount of the host machine’s resources to the database server. This is a good choice for a development machine.
  • Select General Purpose to set the value of edb_dynatune to 66. A mid-range value dedicates a moderate amount of system resources to the database server. This would be a good setting for an application server with a fixed number of applications running on the same host as Advanced Server.
  • Select Dedicated to set the value of edb_dynatune to 100. A high value dedicates most of the system resources to the database server. This is a good choice for a dedicated server host.

After the installation is complete, you can adjust the value of edb_dynatune by editing the postgresql.conf file, located in the data directory of your Advanced Server installation. After editing the postgresql.conf file, you must restart the server for your changes to take effect.

Select the appropriate setting for your system, and click Next to continue to the Dynatune Dynamic Tuning: Workload Profile window.

The Dynatune Dynamic Tuning: Workload Profile window

Fig. 11: The Dynatune Dynamic Tuning: Workload Profile window

Use the radio buttons on the Workload Profile window to specify the initial value of the edb_dynatune_profile configuration parameter. The edb_dynatune_profile parameter controls performance-tuning aspects based on the type of work that the server performs.

  • Select Transaction Processing (OLTP systems) to specify an edb_dynatune_profile value of oltp. Recommended when Advanced Server is supporting heavy online transaction processing.
  • Select General Purpose (OLTP and reporting workloads) to specify an edb_dynatune_profile value of mixed. Recommended for servers that provide a mix of transaction processing and data reporting.
  • Select Reporting (Complex queries or OLAP workloads) to specify an edb_dynatune_profile value of reporting. Recommended for database servers used for heavy data reporting.

After the installation is complete, you can adjust the value of edb_dynatune_profile by editing the postgresql.conf file, located in the data directory of your Advanced Server installation. After editing the postgresql.conf file, you must restart the server for your changes to take effect.

For more information about edb_dynatune and other performance-related topics, see the EDB Postgres Advanced Server Guide available from the EnterpriseDB website at:

https://www.enterprisedb.com/docs

Click Next to continue. The Update Notification Service window opens.

The Update Notification Service window

Fig. 12: The Update Notification Service window

When enabled, the update notification service notifies you of any new updates and security patches available for your installation of Advanced Server.

By default, Advanced Server is configured to start the service when the system boots; clear the Install Update Notification Service check box, or accept the default, and click Next to continue.

The Pre Installation Summary opens.

The Pre Installation Summary

Fig. 13: The Pre Installation Summary

The Pre Installation Summary provides an overview of the options specified during the Setup process. Review the options before clicking Next; click Back to navigate back through the dialogs and update any options.

The Ready to Install window confirms that the installer has the information it needs about your configuration preferences to install Advanced Server. Click Next to continue.

The Ready to Install window

Fig. 14: The Ready to Install window

Installing Advanced Server

Fig. 15: Installing Advanced Server

As each supporting module is unpacked and installed, the module’s installation is confirmed with a progress bar.

Before the Setup wizard completes the Advanced Server installation, it offers to Launch StackBuilder Plus at exit?

The Setup wizard offers to Launch StackBuilder Plus at exit

Fig. 16: The Setup wizard offers to Launch StackBuilder Plus at exit

You can clear the StackBuilder Plus check box and click Finish to complete the Advanced Server installation, or accept the default and proceed to StackBuilder Plus.

EDB Postgres StackBuilder Plus is included with the installation of Advanced Server and its core supporting components. StackBuilder Plus is a graphical tool that can update installed products, or download and add supporting modules (and the resulting dependencies) after your Advanced Server setup and installation completes. See Using StackBuilder Plus for more information about StackBuilder Plus.

Invoking the Installer from the Command Line

The command line options of the Advanced Server installer offer functionality in situations where a graphical installation may not work because of limited resources or privileges. You can:

  • Include the --mode unattended option when invoking the installer to perform an installation without user input.
  • Include the --mode text option when invoking the installer to perform an installation from the command line.
  • Invoke the installer with the --extract-only option to perform a minimal installation when you don’t hold the privileges required to perform a complete installation.

Not all command line options are suitable for all platforms. For a complete reference guide to the command line options, see Reference Command Line Options.

If you are invoking the installer from the command line to perform a system upgrade, the installer will ignore command line options, and preserve the configuration of the previous installation.

Performing a Text Mode Installation

To specify that the installer should run in text mode, include the --mode text command line option when invoking the installer. Text-mode installations are useful if you need to install on a remote server using ssh tunneling (and have access to a minimal amount of bandwidth), or if you do not have access to a graphical interface.

In text mode, the installer uses a series of command line questions to establish the configuration parameters. Text-mode installations are valid only on Linux systems.

You must assume superuser privileges before performing a text-mode installation. To perform a text-mode installation on a Linux system, navigate to the directory that contains the installation binary file and enter:

./edb-as10-server-10.x.x.x-linux-x64.run --mode text

At any point during the installation process, you can press Ctrl-C to abort the installation.

The text mode installer welcomes you to the Setup Wizard, and introduces the License Agreement. Use the Enter key to page through the license agreement:

Welcome to the EDB Postgres Advanced Server Setup Wizard.
----------------------------------------------------------
Please read the following License Agreement. You must
accept the terms of this agreement before continuing with
the installation.
Press [Enter] to continue:

Press Enter to continue reviewing the license agreement. After displaying the license, the installer prompts you to accept the license:

Do you accept this license? [y/n]:

After reading the license agreement, enter y to accept the agreement and proceed with the installation. Enter n if you do not accept the license agreement; this will abort the installation. Press Enter to proceed.

Next, the installer will prompt you for the User Authentication information associated with your EnterpriseDB user account. This installation requires a registration with EnterpriseDB. If you do not have an account, create one on https://www.enterprisedb.com/user-login-registration.

When prompted, enter the email address of a registered account, and then the corresponding password:

Email []:
Password :

By default, Advanced Server is installed in /opt/edb/as10. Enter an alternate location, or press Enter to accept the default and continue to the component selection portion of the installation process.

Next, the installer prompts you individually for each component that is to be installed with Advanced Server. Select the components you want to install.

Enter Y or press Enter to accept the default value of yes after each component that you wish to include with the installation. Enter n to omit a component from the installation.

EDB Postgres Advanced Server [Y/n] :
pgAdmin 4 [Y/n] :
StackBuilder Plus [Y/n] :
Command Line Tools [Y/n] :

The Advanced Server components are:

EDB Postgres Advanced Server

Press Y or enter after the EDB Postgres Advanced Server option to install Advanced Server 10.

pgAdmin 4

pgAdmin 4 provides a powerful graphical interface for database management and monitoring.

StackBuilder Plus

The StackBuilder Plus utility is a graphical tool that can update installed products, or download and add supporting modules (and the resulting dependencies) after your Advanced Server setup and installation completes.

Command Line Tools

The Command Line Tools option installs command line tools and supporting client libraries including:

  • libpq
  • psql
  • EDB*Loader
  • ecpgPlus
  • pg_basebackup, pg_dump, and pg_restore
  • pg_bench and more.
Note

The Command Line Tools are required if you are installing Advanced Server or pgAdmin 4.

After selecting components for installation, confirm that the list is correct by entering Y; enter n to iterate through the list of components a second time.

Next, the installer prompts you to specify the location of the Additional Directories required by Advanced Server. The default data directory is /opt/edb/as10/data. You can specify an alternate location, or press Enter to accept the default and continue.

Please select a directory under which to store your data.
Data Directory [/opt/edb/as10/data]: 

The default location of the Advanced Server Write-Ahead Log (WAL) Directory is /opt/edb/as10/data/pg_wal. Press Enter to accept the default location and continue, or specify an alternate location.

Please select a directory under which to store your WriteAhead Logs.
Write-Ahead Log (WAL) Directory [/opt/edb/as10/data/pg_wal]:

Advanced Server uses write-ahead logs to help ensure transaction safety and speed transaction processing; when you make a change to a table, the change is stored in shared memory and a record of the change is written to the write-ahead log. When you COMMIT a transaction, Advance Server writes contents of the write-ahead log to disk.

Next, the installer prompts you to select an Advanced Server Dialect.

EDB Postgres Advanced Server can be configured in one of two "Dialects" - 1) Compatible with Oracle or 2) Compatible with Postgres.

If you select Compatible with Oracle, Advanced Server will be configured with appropriate data type conversions, time and date formats, Oracle-styled operators, dictionary views and more. This makes it easier to migrate or write new applications that are more compatible with the Oracle database.

If you select Compatible with Postgres, Advanced Server will be configured with standard PostgeSQL data types, time/date formats and operators.

Advanced Server Dialect
[1] Compatible with Oracle
[2] Compatible with PostgreSQL
Please choose an option [1] :

The configuration mode specifies the server dialect with which Advanced Server will be compatible; you can choose between Compatible with Oracle and Compatible with PostgreSQL installation modes.

Compatible with Oracle

If you select Compatible with Oracle, the installation will include the following features:

  • Data dictionary views that is compatible with Oracle databases.
  • Date values displayed in a format compatible with Oracle syntax.
  • Support for Oracle-styled concatenation rules (if you concatenate a string value with a NULL value, the returned value is the value of the string).
  • Schemas (dbo and sys) compatible with Oracle databases added to the SEARCH_PATH.
  • Support for the following Oracle built-in packages:
PackageFunctionality compatible with Oracle Databases
dbms_alertProvides the capability to register for, send, and receive alerts.
dbms_aqProvides queueing functionality for Advanced Server.
dbms_aqadmProvides supporting functionality for dbms_aq.
dbms_cryptoProvides a way to encrypt or decrypt RAW, BLOB or CLOB data.
dbms_jobImplements job-scheduling functionality.
dbms_lobProvides the ability to manage large objects.
dbms_lockProvides support for the DBMS_LOCK.SLEEP procedure.
dbms_mviewProvides a way to manage and refresh materialized views.
dbms_outputProvides the ability to display a message on the client.
dbms_pipeProvides the ability to send a message from one session and read it in another session.
dbms_profilerCollects and stores performance data about PL/pgSQL and SPL statements.
dbms_randomProvides a way to generate random numbers.
dbms_rlsImplements row level security.
dbms_schedulerProvides a way to create and manage Oracle-style jobs.
dbms_sessionA partial implementation that provides support for DBMS_SESSION.SET_ROLE.
dbms_sqlImplements use of Dynamic SQL
dbms_utilityProvides a collection of misc functions and procedures.
utl_encodeProvides a way to encode or decode data.
utl_fileProvides a way for a function, procedure or anonymous block to interact with files stored in the server’s file system.
utl_httpProvides a way to use HTTP or HTTPS to retrieve information found at a URL.
utl_mailProvides a simplified interface for sending email and attachments.
utl_rawProvides a way to manipulate or retrieve the length of raw data types.
utl_smtpImplements smtp email functions.
utl_urlProvides a way to escape illegal and reserved characters in a URL.

This is not a comprehensive list of the compatibility features for Oracle included when Advanced Server is installed in Compatible with Oracle mode; for more information, see the Database Compatibility for Oracle Developers Built-in Package Guide available from the EnterpriseDB website at:

https://www.enterprisedb.com/docs

If you choose to install in Compatible with Oracle mode, the Advanced Server superuser name is enterprisedb.

Compatible with PostgreSQL

If you select Compatible with PostgreSQL, Advanced Server will exhibit compatibility with PostgreSQL version 10. If you choose to install in Compatible with PostgreSQL mode, the default Advanced Server superuser name is postgres.

For detailed information about PostgreSQL functionality, visit the official PostgreSQL website at:

http://www.postgresql.org

Press Enter to accept the default configuration mode (Compatible with Oracle) and continue; enter 2 and press Enter to install in Compatible with PostgreSQL mode.

Next, the installer prompts you for a database superuser password.

Please provide a password for the database superuser (enterprisedb). A locked Unix user account (enterprisedb) will be created if not present.

Password :

Retype Password :

Advanced Server uses the password specified for the database superuser. The password must conform to any security policies existing on the Advanced Server host.

After entering a password in the Password field, confirm the password and press Enter to continue. The installer prompts you for Additional Configuration information.

When prompted, enter the Port that the Advanced Server service will monitor for connections. By default, Advanced Server chooses the first available port after port number 5444.

Specify a Locale by entering a locale number from the list shown. Accept the Default locale value to instruct the installer to use the system locale as the server locale.

Select the locale to be used by the new database cluster.

Locale
[1] [Default locale]
[2] C
[3] POSIX
Please choose an option [1] :

When prompted, enter Y (or press Enter to accept the default value) to install the sample tables and procedures for the database dialect specified by the compatibility mode (Oracle or PostgreSQL).

Dynatune functionality allows Advanced Server to make optimal usage of the system resources available on the host machine. To facilitate performance tuning through Dynatune, the installer prompts you first for Server Utilization information.

Dynatune Dynamic Tuning: Server Utilization

Please select the type of server to determine the amount of system resources that may be utilized:

[1] Development (e.g. a developer's laptop)
[2] General Purpose (e.g. a web or application server)
[3] Dedicated (a server running only EDB Postgres)
Please choose an option [2] : 

The edb_dynatune configuration parameter determines how Advanced Server allocates system resources. Your selection will establish the initial value of edb_dynatune.

  • Select Development to set the value of edb_dynatune to 33. A low value dedicates the least amount of the host machine’s resources to the database server. This is a good choice for a development machine.
  • Select General Purpose to set the value of edb_dynatune to 66. A mid-range value dedicates a moderate amount of system resources to the database server. This would be a good setting for an application server with a fixed number of applications running on the same host as Advanced Server.
  • Select Dedicated to set the value of edb_dynatune to 100. A high value dedicates most of the system resources to the database server. This is a good choice for a dedicated server host.

Enter a value of 1, 2, or 3, or accept the default value of 2 (to indicate that the server will be used for General Purpose processing) and press Enter to continue.

Next, the Advanced Server installer prompts for information about the type of workload the system will be processing.

Dynatune Dynamic Tuning:
Workload Profile

Please select the type of workload this server will be used for:

[1] Transaction Processing (OLTP systems)
[2] General Purpose (OLTP and reporting workloads)
[3] Reporting (Complex queries or OLAP workloads)
Please choose an option [1] : 

The installer uses the Workload Profile to establish the initial value of the edb_dynatune_profile configuration parameter. The edb_dynatune_profile parameter controls performance-tuning aspects based on the type of work that the server performs.

  • Enter 1 to indicate Transaction Processing (OLTP systems) and set the value of edb_dynatune_profile to oltp. Recommended when Advanced Server is supporting heavy online transaction processing workloads.
  • Enter 2 to indicate General Purpose (OLTP and reporting workloads) and set the value of edb_dynatune_profile to mixed. Recommended for servers that provide a mix of transaction processing and data reporting.
  • Enter 3 to indicate Reporting (Complex queries or OLAP workloads) and set the value of edb_dynatune_profile to reporting. Recommended for database servers used for heavy data reporting.

After choosing a Workload Profile, press Enter to continue.

After the installation is complete, you can adjust the values of edb_dynatune and edb_dynatune_profile by editing the postgresql.conf file, located in the data directory of your Advanced Server installation. After editing the postgresql.conf file, you must restart the server for your changes to take effect.

For more information about edb_dynatune and other performance-related topics, see the EDB Postgres Advanced Server Guide available from the EnterpriseDB website at:

https://www.enterprisedb.com/docs

If enabled, the Update Notification Service notifies you of any available updates and security patches for your installation of Advanced Server.

Update Notification Service
Update Notification Service [Y/n]: 

By default, the installer specifies that Advanced Server should enable the notification service when the system boots; specify n to disable the notification service, or accept the default, and press Enter to continue to the Pre Installation Summary.

Pre Installation Summary

Following settings will be used for installation:

Installation Directory: /opt/edb/as10
Data Directory: /opt/edb/as10/data
WAL Directory: /opt/edb/as10/data/pg_wal
Database Port: 5444
Database Superuser: enterprisedb
Operating System Account: enterprisedb
Database Service: edb-as-10
Command Line Tools Installation Directory: /opt/edb/as10
pgAdmin4 Installation Directory: /opt/edb/as10/pgAdmin4
StackBuilderPlus Installation Directory:
/opt/edb/as10/stackbuilderplus
Press [Enter] to continue:

The Pre Installation Summary lists the options specified during the installation setup process; review the listing and press Enter to continue; press Enter again to start the installation process.

Setup is now ready to begin installing EDB Postgres Advanced Server on your computer.
Do you want to continue? [Y/n]: 

The installer extracts the Advanced Server files and proceeds with the installation.

Please wait while Setup installs EDB Postgres Advanced Server on your computer.

Installing EDB Postgres Advanced Server
0% ______________ 50% ______________ 100%
########################################

The installer informs you when the installation is complete.

Performing an Unattended Installation

To specify that the installer should run without user interaction, include the --mode unattended command line option. In unattended mode, the installer uses one of the following sources for configuration parameters:

  • command line options (specified when invoking the installer)
  • parameters specified in an option file
  • Advanced Server installation defaults

You can embed the non-interactive Advanced Server installer within another application installer; during the installation process, a progress bar allows the user to view the progression of the installation.

You must have superuser privileges to install Advanced Server using the --mode unattended option on a Linux system. If you are using the --mode unattended option to install Advanced Server with another installer, the calling installer must be invoked with superuser privileges.

To install in unattended mode, navigate to the directory that contains the Advanced Server installer and enter:

./edb-as10-server-10.x.x-x-linux-x64.run --mode unattended
--superpassword database_superuser_password --webusername
edb_user_name@email.com --webpassword edb_user_password

The --superpassword option specifies a password for the database superuser. If you omit the option, the database superuser password defaults to enterprisedb. The default password can be easily guessed by a potential intruder; be sure to provide a stronger password with the --superpassword option.

You must include the --webusername and --webpassword options to specify the identity of a registered EnterpriseDB user. There is no charge to register for an EnterpriseDB user account; if you do not have an account, you can create one at:

http://www.enterprisedb.com/user-login-registration

You can control configuration parameters for Advanced Server by specifying options at the command line, or by including the parameters (in option=value pairs) in a configuration file. A sample configuration file might include:

mode=unattended
prefix=/opt/edb/as10
datadir=/opt/edb/as10/data
serverport=5444
webusername=edb_user_name@email.com
webpassword=edb_user_password

Then, when you invoke the installer, include the --optionfile parameter, and the complete path to the configuration parameter file.

./edb-as10-server-10.x.x-x-linux-x64.run --optionfile
/$HOME/config_param

Performing an Installation with Limited Privileges

To perform an abbreviated installation of Advanced Server without access to root or administrative privileges, invoke the installer from the command line and include the --extract-only option. Invoking the installer with the --extract-only option extracts the binary files in an unaltered form, allowing you to experiment with a minimal installation of Advanced Server.

If you invoke the installer with the --extract-only options, you can either manually create a cluster and start the service, or run the installation script. To manually create the cluster, you must:

  • Initialize the cluster
  • Configure the cluster
  • Start and stop the service with pg_ctl

For more information about the initdb and pg_ctl commands, see the PostgreSQL Core Documentation at:

https://www.postgresql.org/docs/10/static/app-initdb.html

https://www.postgresql.org/docs/10/static/app-pg-ctl.html

If you include the --extract-only option when you invoke the installer, the installer steps through a shortened form of the Setup wizard. During the brief installation process, the installer generates an installation script that can be later used to complete a more complete installation. To invoke the installation script, you must have superuser privileges on Linux.

The installation script:

  • Initializes the database cluster if the cluster is empty.
  • Configures the server to start at boot-time.
  • Establishes initial values for Dynatune (dynamic tuning) variables.

The scripted Advanced Server installation does not create menu shortcuts or access to EDB Postgres StackBuilder Plus, and no modifications are made to registry files.

To perform a limited installation and generate an installation script, download and unpack the Advanced Server installer. Navigate into the directory that contains the installer, and invoke the installer with the command:

./edb-as10-server-10.x.x-x-linux-x64.run --extract-only yes

A dialog opens, prompting you to choose an installation language. Select a language for the installation and click OK to continue. The Setup Wizard opens.

Advanced Server installer Welcome window

Fig. 17: The Advanced Server installer Welcome window

Click Next to continue to the Advanced Server License Agreement.

Enterprisedb License Agreement

Fig. 18: The EnterpriseDB License Agreement

After reading the license agreement, select the appropriate radio button and click Next to continue to the User Authentication window.

The User Authentication

Fig. 19: The User Authentication window

Before continuing, you must provide the email address and password associated with your EnterpriseDB user account. Registration is free; if you do not have a user account, click the link provided to open a web browser, and register your user information.

Enter the email address of a registered account in the Email field, and the corresponding password in the Password field, and click Next to continue.

The Installation Directory window

Fig. 20: The Installation Directory window

The default Advanced Server installation directory is:

/opt/edb/as10

You can accept the default installation location, and click Next to continue to the Ready to Install window, or optionally click the File Browser icon to choose an alternate installation directory.

The Ready to Install window

Fig. 21: The Ready to Install window

Click Next to proceed with the Advanced Server installation. During the installation, progress bars and popups mark the installation progress. The installer notifies you when the installation is complete.

The Setup wizard offers to Launch StackBuilder Plus at exit

Fig. 22: The Setup wizard offers to Launch StackBuilder Plus at exit

After completing the minimal installation, you can execute a script to initialize a cluster and start the service. The script is (by default) located in the following directories:

/opt/edb

To execute the installation script, open a command line and assume superuser or administrative privileges. Navigate to the directory that contains the script, and execute the command:

./runAsRoot.sh

The installation script executes at the command line, prompting you for installation configuration information. The default configuration value is displayed in square braces immediately before each prompt; update the default value or press Enter to accept the default value and continue.

Example

The following dialog is an example of a scripted installation on a Linux system. The actual installation dialog will vary by platform and reflect the options specified during the installation.

======================
INSTALLATION DIRECTORY
======================
Please enter the installation directory [ /opt/edb ] :

The installation directory is the directory where Advanced Server is installed.

==============
DATA DIRECTORY
==============
NOTE: If data directory exists and postgresql.conf file exists in that directory, we will not initialize the cluster.

Please enter the data directory path: [ /opt/edb/as10/data ] :

The data directory is the directory where Advanced Server data is stored.

=============
WAL DIRECTORY
=============
Please enter the Write-Ahead Log (WAL) directory path:
 [ /opt/edb/as10/data/pg_wal ] :

The WAL directory is where the write-ahead log will be written.

=============
DATABASE MODE
=============
Please enter database mode: [ oracle ] :

Database mode specifies the database dialect with which the Advanced Server installation is compatible. The optional values are oracle or postgresql.

Compatible with Oracle

Specify oracle mode to include the following functionality:

  • Data dictionary views that is compatible with Oracle databases.
  • Date values displayed in a format compatible with Oracle syntax.
  • Support for Oracle-styled concatenation rules (if you concatenate a string value with a NULL value, the returned value is the value of the string).
  • Schemas (dbo and sys) compatible with Oracle databases added to the SEARCH_PATH.
  • Support for the following Oracle built-in packages.

If you choose to install in Compatible with Oracle mode, the Advanced Server superuser name is enterprisedb.

Compatible with PostgreSQL

Specify postgresql to install Advanced Server with complete compatibility with Postgres version 10. If you choose to install in Compatible with PostgreSQL mode, the default Advanced Server superuser name is postgres.

====
PORT
====
NOTE: We will not be able to examine, if port is currently used by other application.

Please enter port: [ 5444 ] :

Specify a port number for the Advanced Server listener to listen on.

======
LOCALE
======
Please enter the locale: [ DEFAULT ] :

Specify a locale for the Advanced Server installation. If you accept the DEFAULT value, the locale defaults to the locale of the host system.

=============
SAMPLE TABLES
=============
Install sample tables and procedures? (Y/n): [ Y ] :

Press Return, or enter Y to accept the default, and install the sample tables and procedures; enter an n and press Return to skip this step.

===========================
DATABASE SUPERUSER PASSWORD
===========================
Please provide password for the super-user(enterprisedb): [ ] :
Please re-type password for the super-user(enterprisedb): [ ] :

Specify and confirm a password for the database superuser. By default, the database superuser is named enterprisedb.

==================
SERVER UTILIZATION
==================
Please enter the server utilization: [ 66 ] :

Specify a value between 1 and 100.

The server utilization value is used as an initial value for the edb_dynatune configuration parameter. edb_dynatune determines how Advanced Server allocates system resources.

  • A low value dedicates the least amount of the host machine’s resources to the database server; a low value is a good choice for a development machine.
  • A mid-range value dedicates a moderate amount of system resources to the database server. A mid-range value is a good setting for an application server with a fixed number of applications running on the same host as Advanced Server.
  • A high value dedicates most of the system resources to the database server. This is a good choice for a dedicated server host.

After the installation is complete, you can adjust the value of edb_dynatune by editing the postgresql.conf file, located in the data directory of your Advanced Server installation. After editing the postgresql.conf file, you must restart the server for the changes to take effect.

================
WORKLOAD PROFILE
================
Please enter the workload profile: [ oltp ] :

The workload profile value is used as an initial value for the edb_dynatune_profile configuration parameter. edb_dynatune_profile controls performance-tuning based on the type of work that the server performs.

  • Specify oltp if the server will be supporting heavy online transaction workloads.
  • Specify mixed if the server will provide a mix of transaction processing and data reporting.
  • Specify reporting if the database server will be used for heavy data reporting.

After the installation is complete, you can adjust the value of edb_dynatune_profile by editing the postgresql.conf file, located in the data directory of your Advanced Server installation, and restarting the server.

Before continuing with the installation, the installer displays the selected options and initializes the database cluster in preparation for the installation of individual components. When the installer has prepared the system for the installation, the installation begins. Before installing a component, the installer prompts you to select modules for installation. With each component, onscreen warnings may alert you to unresolved dependencies.

Please note that the available components are different for each platform, and the prompts that follow may vary.

The installer saves the specified configuration values in the following file:

'/opt/edb/.rar_options_xxxxx'

After continued processing, the Advanced Server installation is complete.

Reference - Command Line Options

You can optionally include the following parameters for an Advanced Server installation on the command line, or in a configuration file when invoking the Advanced Server installer.

--create_samples { yes | no }

Use the --create_samples option to specify whether the installer should create the sample tables and procedures for the database dialect specified with the --databasemode parameter. The default is yes.

--databasemode { oracle | postgresql }

Use the --databasemode parameter to specify a database dialect. The default is oracle.

--datadir data_directory

Use the --datadir parameter to specify a location for the cluster's data directory. data_directory is the name of the directory; include the complete path to the desired directory.

--debuglevel { 0 | 1 | 2 | 3 | 4 }

Use the --debuglevel parameter to set the level of detail written to the debug_log file (see --debugtrace). Higher values produce more detail in a longer trace file. The default is 2.

--debugtrace debug_log

Use the --debugtrace parameter to troubleshoot installation problems. debug_log is the name of the file that contains troubleshooting details.

--disable-components component_list

Use the --disable-components parameter to specify a list of Advanced Server components to exclude from the installation. By default, component_list contains '' (the empty string). component_list is a comma-separated list containing one or more of the following components:

dbserver

EDB Postgres Advanced Server 10.

pgadmin4

The EDB Postgres pgAdmin 4 provides a powerful graphical interface for database management and monitoring.

--enable-components component_list

Although this option is listed when you run the installer with the --help option, the --enable-components parameter has absolutely no effect on which components are installed. All components will be installed regardless of what is specified in component_list. In order to install only specific selected components, you must use the --disable-components parameter previously described in this section to list the components you do not want to install.

--extract-only { yes | no }

Include the --extract-only parameter to indicate that the installer should extract the Advanced Server binaries without performing a complete installation. Superuser privileges are not required for the --extract-only option. The default value is no.

--help

Include the --help parameter to view a list of the optional parameters.

--installer-language { en | ja | zh_CN | zh_TW | ko }

Use the --installer-language parameter to specify an installation language for Advanced Server. The default is en.

en specifies English.

ja specifies Japanese

zh_CN specifies Chinese Simplified.

zh_TW specifies Traditional Chinese.

ko specifies Korean.

--locale locale

Specifies the locale for the Advanced Server cluster. By default, the installer will use to the locale detected by initdb.

--mode {qt | gtk | text | unattended}

Use the --mode parameter to specify an installation mode. The following modes are supported:

  • qt - Specify qt to tell the installer to use the Qt graphical toolkit
  • gtk - Specify gtk to tell the installer to use the GTK graphical toolkit.
  • text - Specify text to perform a text mode installation in a console window. This is a Linux-only option.
  • unattended - Specify unattended to specify that the installer should perform an installation that requires no user input during the installation process.

--optionfile config_file

Use the --optionfile parameter to specify the name of a file that contains the installation configuration parameters. config_file must specify the complete path to the configuration parameter file.

--prefix installation_dir/as10.x

Use the --prefix parameter to specify an installation directory for Advanced Server. The installer will append a version-specific sub-directory (that is, as10) to the specified directory. The default installation directory is:

/opt/edb/as10

--productkey product_key

Use the --productkey parameter to specify a value for the product key. The --productkey parameter is only required when the specified system locale is Japanese, Chinese, or Korean.

--serverport port_number

Use the --serverport parameter to specify a listener port number for Advanced Server.

If you are installing Advanced Server in unattended mode, and do not specify a value using the --serverport parameter, the installer will use port 5444, or the first available port after port 5444 as the default listener port.

--server_utilization {33 | 66 | 100}

Use the --server_utilization parameter to specify a value for the edb_dynatune configuration parameter. The edb_dynatune configuration parameter determines how Advanced Server allocates system resources.

  • A value of 33 is appropriate for a system used for development. A low value dedicates the least amount of the host machine’s resources to the database server.
  • A value of 66 is appropriate for an application server with a fixed number of applications. A mid-range value dedicates a moderate amount of system resources to the database server. The default value is 66.
  • A value of 100 is appropriate for a host machine that is dedicated to running Advanced Server. A high value dedicates most of the system resources to the database server.

When the installation is complete, you can adjust the value of edb_dynatune by editing the postgresql.conf file, located in the data directory of your Advanced Server installation. After editing the postgresql.conf file, you must restart the server for the changes to take effect.

--serviceaccount user_account_name

Use the --serviceaccount parameter to specify the name of the user account that owns the server process.

  • If --databasemode is set to oracle (the default), the default value of --serviceaccount is enterprisedb.
  • If --databasemode is postgresql, the default value of --serviceaccount is set to postgres.

Please note that for security reasons, the --serviceaccount parameter must specify the name of an account that does not hold superuser privileges.

--servicename service_name

Use the --servicename parameter to specify the name of the Advanced Server service. The default is edb-as-10.

--superaccount super_user_name

Use the --superaccount parameter to specify the user name of the database superuser.

  • If --databasemode is set to oracle (the default), the default value of --superaccount is enterprisedb.
  • If --databasemode is set to postgresql, the default value of --superaccount is set to postgres.

--superpassword superuser_password

Use --superpassword to specify the database superuser password. If you are installing in non-interactive mode, --superpassword defaults to enterprisedb.

--unattendedmodeui { none | minimal | minimalWithDialogs }

Use the --unattendedmodeui parameter to specify installer behavior during an unattended installation.

Include --unattendedmodeui none to specify that the installer should not display progress bars during the Advanced Server installation.

Include --unattendedmodeui minimal to specify that the installer should display progress bars during the installation process. This is the default behavior.

Include --unattendedmodeui minimalWithDialogs to specify that the installer should display progress bars and report any errors encountered during the installation process (in additional dialogs).

--version

Include the --version parameter to retrieve version information about the installer:

EDB Postgres Advanced Server EDB Postgres Advanced Server 10 --- Built on 2018-03-15 00:04:00 IB: 15.11.1-201511121057

--webusername {registered_username}

You must specify the name of a registered user and password when performing an installation of EDB Postgres Advanced Server 10. Use the --webusername parameter to specify the name of the registered EnterpriseDB user that is performing the installation.

registered_username must be an email address.

--webpassword {associated_password}

Use the --webpassword parameter to specify the password associated with the registered EnterpriseDB user that is performing the installation.

--workload_profile {oltp | mixed | reporting}

Use the --workload_profile parameter to specify an initial value for the edb_dynatune_profile configuration parameter. edb_dynatune_profile controls aspects of performance-tuning based on the type of work that the server performs.

  • Specify oltp if the Advanced Server installation will be used to support heavy online transaction processing workloads.
  • The default value is oltp.
  • Specify mixed if Advanced Server will provide a mix of transaction processing and data reporting.
  • Specify reporting if Advanced Server will be used for heavy data reporting.

After the installation is complete, you can adjust the value of edb_dynatune_profile by editing the postgresql.conf file, located in the data directory of your Advanced Server installation. After editing the postgresql.conf file, you must restart the server for the changes to take effect.

For more information about edb_dynatune and other performance-related topics, see the EDB Postgres Advanced Server Guide available at:

https://www.enterprisedb.com/docs

--xlogdir directory_name

Use the --xlogdir parameter to specify a location for the write-ahead log. The default value is /opt/edb/as10/data/pg_wal.

Using StackBuilder Plus

The StackBuilder Plus utility provides a graphical interface that simplifies the process of updating, downloading, and installing modules that complement your Advanced Server installation. When you install a module with StackBuilder Plus, StackBuilder Plus automatically resolves any software dependencies.

You must install the redhat-lsb package before invoking StackBuilder Plus.

You can invoke StackBuilder Plus at any time after the installation has completed by selecting the StackBuilder Plus menu option from the EDB Postgres --> Advanced Server 10 menu. Enter your system password (if prompted), and the StackBuilder Plus welcome window opens.

The StackBuilder Plus welcome window

Fig. 23: The StackBuilder Plus welcome window

Use the drop-down listbox on the welcome window to select your Advanced Server installation.

StackBuilder Plus requires Internet access; if your installation of Advanced Server resides behind a firewall (with restricted Internet access), StackBuilder Plus can download program installers through a proxy server. The module provider determines if the module can be accessed through an HTTP proxy or an FTP proxy; currently, all updates are transferred via an HTTP proxy and the FTP proxy information is not used.

If the selected Advanced Server installation has restricted Internet access, use the Proxy Servers on the Welcome window to open the Proxy servers dialog.

The Proxy Servers dialog

Fig. 24: The Proxy Servers dialog

Enter the IP address and port number of the proxy server in the HTTP proxy on the Proxy Servers dialog. Currently, all StackBuilder Plus modules are distributed via HTTP proxy (FTP proxy information is ignored). Click OK to continue.

The StackBuilder Plus module selection window

Fig. 25: The StackBuilder Plus module selection window

The tree control on the StackBuilder Plus module selection window displays a node for each module category.

Expand a module, and highlight a component name in the tree control to review a detailed description of the component. To add one or more components to the installation or to upgrade a component, check the box to the left of a module name and click Next. A window opens, requesting your EnterpriseDB registration information.

User Authentication

Fig. 26: The User Authenication window

Before downloading and installing modules and updates with StackBuilder Plus, you must enter the user information associated with your EnterpriseDB account. If you do not have an EnterpriseDB user account, click the link provided to open a web browser, and enter your user information.

Enter the email address of a registered account in the Email field, and the corresponding password in the Password field, and click Next to continue.

StackBuilder Plus confirms the packages selected.

A summary window displays a list of selected packages

Fig. 27: A summary window displays a list of selected packages

By default, the selected package installers are downloaded to /root.

Use the browse icon (...) to the right of the Download directory field to open a file selector, and choose an alternate location to store the downloaded installers. Click Next to connect to the server and download the required installation files.

When the download completes, a window opens that confirms the installation files have been downloaded and are ready for installation.

Confirmation that the download process is complete

Fig. 28: Confirmation that the download process is complete

You can check the box next to Skip Installation, and select Next to exit StackBuilder Plus without installing the downloaded files, or leave the box unchecked and click Next to start the installation process.

Each downloaded installer has different requirements. As the installers execute, they may prompt you to confirm acceptance of license agreements, to enter passwords, and provide configuration information.

During the installation process, you may be prompted by one (or more) of the installers to restart your system. Select No or Restart Later until all installations are completed. When the last installation has completed, reboot the system to apply all of the updates.

You may occasionally encounter packages that don’t install successfully. If a package fails to install, StackBuilder Plus will alert you to the installation error with a popup dialog, and write a message to the log file at /root.

StackBuilder Plus confirms the completed installation

Fig. 29: StackBuilder Plus confirms the completed installation

When the installation is complete, StackBuilder Plus will alert you to the success or failure of the installations of the requested packages. If you were prompted by an installer to restart your computer, reboot now.