EDB* Plus
Tags: postgres
Published: 2023-07-16 21:15:13

## Introduction
EDB* plus is a utility program that provides CLI to Enterprise DB. EDB* plus enables us to accept numerous types of commands like SQL commands, EDB*Plus commands and SPL anonymous blocks.
Because of the compatibilities of EDB* Plus commands with Oracle SQL* Plus commands, it provides various capabilities including Recording output, Executing OS commands, executing batch scripts, Formatting output from SQL commands, executing stored procedures and querying certain database objects.

## Supported Platforms
### Linux x86-64 (amd64)
- RHEL	
- OL		
- Rocky Linux/AlmaLinux		
- CentOS7	
- SLES	
- Ubuntu 22.04/20.04	
- Debian		
### Linux on IBM Power (ppc64le)
- RHEL	
- SLES	
### Windows x86-64
- Windows Server


## Supported EDB Postgres Advanced Server (EPAS) Version
- EPAS 15
- EPAS 14
- EPAS 13
- EPAS 12 
- EPAS 11

## EDB* Plus Commands
**ACCEPT –** We Use ACCEPT command to display a prompt and wait for keyboard input. The value from the input is placed in the specified variable.
**APPEND –** It is used to add the given text at the end of the SQL buffer.
**CHANGE –** It is used to search and replace the data in the current line given by SQL buffer. 
**CLEAR –** Clear is used to do multiple things like clearing the data inside SQL buffer, clearing the screen or deleting the column definitions associated with the COLUMN command.
**COLUMN –**In simpler terms, the COLUMN command is used to control how the output is formatted. However, it's important to note that any formatting changes made using the COLUMN command will only apply to the current session and will not persist beyond that.
**CONNECT –** It is used to change the connection of database to different use or connecting the different database itself.
**DEFINE –** It is used to create user variables or change the value of user variables.
**DEL –** It is used to delete any number of lines from the SQL buffer.
**DESCRIBE –** In everyday language, the DESCRIBE command is used to show various information depending on what you're looking at, for a table or view, it displays a list of columns, their data types, and their lengths. For a procedure or function, it shows a list of parameters. For a package, it reveals a list of procedures and functions along with their respective parameters. Additionally, when you use DESCRIBE on a synonym, it provides information about the structure of the underlying database object that the synonym points to.
**DISCONNECT –** It is used to close the running database connection without ending the EDB* Plus session.
**EDIT –** It is used to open an external editor for editing OS files or the content of SQL buffer.
**EXECUTE –** It is used to execute SPL procedure from the EDB* Plus.
**EXIT/QUIT –** It is used to end the EDB* Plus session.
**GET –** It is used to load the data present inside the given file into the SQL buffer.
**HELP/? –** It is used to get help on any specified topic. 
**HOST –** It is used to execute the OS commands from the EDB* Plus.
**INPUT –** It is used to add the line of text after the current line inside the SQL buffer.
**LIST –** It is used to display the content of SQL buffer.
**PASSWORD –** It is used to change the database password.
**PAUSE –** It is used to display prompt and wait until user press ENTER. 
**PROMPT –** It is used to display the prompt before continuing further. 
**REMAKE –** It is used to comment inside the script.
**SAVE –** It is used to write the content of SQL buffer inside the OS file.
**SET –** It is used for specifying the value of variables with session scope that enables us to control EDB* Plus behavior.
**SET AUTOCOMMIT –** In simpler terms, the SET AUTOCOMMIT command is used to define how transactions are committed in EDB Postgres Advanced Server.
**SET COLUMN SEPARATOR –** It is used to set the displayed text between the columns.
**SET ECHO –** It is used to enable the display of SQL and EDB* Plus script statements on the screen while the execute.
**SET FEEDBACK –** It is used to display the information after the execution of a SQL statement.
**SET FLUSH –** It is used to control the display buffering. 
**SET HEADING –** It is used to specify whether to display the headings for the columns.
**SET HEADSEP –** To put it in simpler terms, the SET HEADSEP command is used to choose a different character as the heading separator for the COLUMN HEADING command. By default, the separator character is set to '|'.
**SET LINESIZE –** It is used to define the width of a line.
**SET NEWPAGE –** It is used to define the number of blank lines after each page breaks.
**SET NULL –** It is used to define the string for displaying when NULL is encountered while the display of output buffer.
**SET PAGESIZE –** It is used to define the number of printed lines in a page.
**SET SQLCASE –** It is used to define whether to convert the SQL statements to lower or upper case before transmitting to server.
**SET PAUSE –** It is particularly helpful when it is included in a script. This command shows a prompt to the user and waits until the user presses the "Return" key before proceeding further.
**SET SPACE –** It is used to define the number of spaces to display between columns.
**SET SQLPROMT –** It is used to set the value for the prompt.
**SET TERMOUT –** It is used to enable the option for displaying the command output.
**SET TIMING –** It is to specify whether to display the execution time taken by each SQL statement after its done executing.
**SET TRIMSPOOL –** The SET TRIMSPOOL command is used to eliminate any extra spaces at the end of each line in the output file specified by the SPOOL command.
**SET Verify –** Incase of the encounter of the substitution variables, it is used to define whether to display both old and new values of the SQL statements.
**SHOW –** It is used to display the values of current parameters.
**SPOOL –** It is used to send the outputs from the display to the file.
**START –** It is used to run the EDB* Plus Script.
**UNDEFINE –** It is used to destroy the variables; we created using the DEFINE command.
**WHENEVER SQLERROR –** It provides error handing for the PL/SQL block error or SQL errors.