Interview Questions Postgres
Interview Questions Postgres
PostgreSQL or Postgres is a relational database management system that is robust and open-source. It is object-
relational, which means that it supports features like Function Overloading and Table Inheritance. PostgreSQL
is used for creating advanced applications. It is compatible with all the main operating systems such as
Windows, UNIX, macOS, and Linux.
In a non-clustered index, the order of the index rows differs from the physical order of the real data. The leaf
pages of a non-clustered index instead contain pointers to the real data rather than the actual data itself. Its main
advantage is that it provides faster access to data.
Parallel query in PostgreSQL is an advanced feature. It allows the arrangement of query plans in such a way
that they can exploit multiple CPUs. This helps in answering user queries in a much faster and quicker manner.
PgAdmin is a free open-source graphical front-end PostgreSQL database administration tool. This web-based
GUI tool is prominently used to manage PostgreSQL databases. It assists in monitoring and managing
numerous complex PostgreSQL and EDB database systems. PgAdmin is used to accomplish tasks like
accessing, developing, and carrying out quality testing procedures.
7. Define Write-Ahead logging.
Write-Ahead Logging is a technique used to ensure the data integrity of PostgreSQL databases. It helps in
maintaining the resilience or the reliability of the database. Write-ahead logging is a method wherein any
changes and actions in the database are logged in a transaction log prior to the updating or modification of the
database. In case there is a database crash, this feature helps the in providing the log of the database changes. In
addition, it also helps the user in resuming work from where it was discontinued, after the crash.
Numerous high-profile organizations, such as Apple, Spotify, IMDb, Instagram, and Skype, make use
PostgreSQL database, owing to its excellent features:
The full form of GEQO is Genetic Query Optimization. It enables non-exhaustive search to efficiently manage
large join queries in PostgreSQL.
An index in PostgreSQL is a way of increasing the speed and efficiency of the database. Databases use indexes
as special lookup tables that help them retrieve data in a much quicker manner. Indexes enable the user to find
specific rows in a database. They act like pointers to the data in the database, thereby enhancing the overall
performance.
13. What do you think is the latest PostgreSQL version in the market?
As of 2022, the latest version of PostgreSQL in the market is PostgreSQL 15. It was launched on 13 October,
2022.
A string constant is defined as the sequence of characters that are bounded by single quotes i.e., (‘). It can be
used during insertion or while passing the characters to the database objects. This is an important feature when
performing the parsing of data. In the case of PostgreSQL, string constant is allowed with single quotes but
embedded by a C-style backslash.
Inconsistency occurs when numerous transactions attempt to access the same data. To preserve data
consistency, concurrency control is necessary.
Let’s take an example of an ATM machine. If concurrency is not applied in this case, different users won’t be
able to access their accounts and draw money at the same time. Whereas if concurrency control is enabled, then
multiple users can do so easily.
Table Partitioning in PostgreSQL is the process wherein a large table is split into smaller pieces. These smaller
pieces are known as partitions. List and range partitioning is supported by PostgreSQL through its table
inheritance feature.
Table partitioning helps in increasing the query performance of PostgreSQL, as it is much easier to select data
from these partitions rather than selecting from one main table.
Each partition can store data according to how frequently it is used, allowing low-use data to be stored on media
that may be slower or less expensive.
18. Name the different types of operators that are used in PostgreSQL.
Operators are the special characters or words that are used mainly in the WHERE clause in PostgreSQL. These
operators can be used to perform a variety of functions and operations.
The different types of operators that are used in PostgreSQL are as follows:-
Arithmetic operators
Logical operators
Comparison operators
Bitwise operators
CTIDs are unique records in PostgreSQL for each table. CTID field in PostgreSQL helps in locating specific
physical rows in a table based on their offset and block positions. This helps in balancing the positions in the
table. Through CTID fields the users can gain an idea of how the rows are really stored in the database table.
The necessary condition to be able to access the data of the database is to initially start the database server.
Postgres is the name of the database server application. The Postgres software needs to know where to seek the
data it should use. The -D option is used to accomplish this.
usr/local/etc/rc.d/010.pgsql.sh start
/usr/local/etc/rc.d/postgresql start
Start by pressing the Windows key + R simultaneously to enter the Run Window.
To find the PostgreSQL services, type services.msc next.
Using the version that is installed, search the Postgres service.
Click on Start to start the database server.
A trigger can be defined as a function that is called automatically when the insertion, updation, or deletion event
occurs. They serve as a way to check the data integrity. Triggers are capable of handling any errors that occur in
the database. Another advantage of triggers is: Any table that is present in a PostgreSQL database can be forced
to receive security approvals with the use of PostgreSQL triggers.
22. Is PostgreSQL compatible with Cloud?
Yes, PostgreSQL is compatible and be run on Cloud. PostgreSQL is highly portable. Moreover, similar to other
open-source databases, PostgreSQL can be effortlessly executed on virtual containers.
The maximum number of blocks in a table decides the limit of the table. As the number of blocks is 2^32 and
8192 bytes is the default size of the block, therefore, the maximum size of a table on PostgreSQL is 32TB.
PostgreSQL stores data in the form of different MongoDB stores data in the form of key-value pairs as one
tables. record.
PostgreSQL is faster than MongoDB. MongoDB is relatively slower than PostgreSQL.
Tokens can be represented as anything from an identifier and keyword to a literal symbol or a special character
symbol. Tokens are regarded as the building blocks of every source code. They are usually separated by a tab,
space, or a new line.
Its open-source feature makes PostgreSQL an amazing option for both business and personal projects.
PostgreSQL was created as a component of the POSTGRES project that was led by Professor Michael
Stonebraker in 1986, at the University of California, Berkeley. It is compatible with all of the popular operating
systems like macOS, Windows, Linux, and UNIX. PostgreSQL has supported ACID properties since 2001. It
has been actively developed on the core platform for more than 30 years.
It has additional features including the PostGIS database extender. Postgresql is the standard database for MAC
OS. The Post Ingres project was developed by Michel Stonebraker, the creator of Postgresql, to support modern
Database systems. Due to the widespread support for the SQL Standard among most relational databases,
PostgreSQL is commonly referred to as Postgres.
Despite its many advantages, PostgreSQL has numerous disadvantages. Some of these include:
To know what are the differences between the popular databases i.e. Postgresql vs MySQL.
The Sequence is a generator that produces a progressive number that can help synchronize the keys across
multiple rows or tables and construct a single primary key automatically.
A sequence in PostgreSQL can be defined as a user-defined schema-bound object that generates an integer
sequence based on a specific requirement.
PostgreSQL permits the user to take a backup of the database by using “pg_dump”.
To perform a backup on a plain-text SQL file, login into your database server and implement the following
command:
pg_dump database_name > filename.sql
The database can be reconstructed using the commands available in the SQL file.
PgAdmin is a web-based management tool that interacts with the PostgreSQL database. It can be used to
perform any database administration operations on PostgreSQL.
The users can store binary data in PostgreSQL in two distinct ways:
The enable-debug command in PostgreSQL is the command that assists in compiling all libraries and
applications.
It has a few debugging symbols that make it easier for developers to find flaws and other issues that can arise
during the script’s execution. This process can slow down or impede the system when it is being used,
increasing the size of the binary file.
35. Describe the method by which you can change the column data type in PostgreSQL.
The data type of one or more columns in PostgreSQL can be changed by using the following commands along
with the TYPE keyword:
ALTER TABLE
ALTER COLUMN
Example:
ALTER TABLE tab_name
ALTER COLUMN col_name TYPE new_data_type;
36. Explain the role of table space in PostgreSQL.
Table spaces in PostgreSQL are defined as the directories where data files can be stored. They are used to store
various databases as well as database objects.
Using table spaces, the disk layout of a PostgreSQL installation can be easily handled and managed.
In addition to that, tablespaces give administrators the ability to enhance performance by making use of their
knowledge of the usage patterns of database objects.
The LIMIT keyword can be used to select the first N records in PostgreSQL.
Example:
SELECT * FROM Employee ORDER BY Salary DESC LIMIT 5
Here, the Employee is the name of the table that contains employee data.
ORDER BY command arranges the data in descending order based on the salary of employees.
LIMIT keyword used with the number 5 prints the first 5 or the top 5 records present in the Employee table.
39. How can you stop a PostgreSQL Server? Can you stop a particular database in the
PostgreSQL cluster?
For Windows
After that, open the command prompt and execute the following command-
pg_ctl -D "C:\Program Files\PostgreSQL\9.6\data" stop
For Linux
For macOS
No, PostgreSQL does not allow the user to stop a specific database in the cluster.
When a search is conducted on a portion of text contained in a large body of electronically recorded text, it is
referred to as a full-text search, and the results that are returned may include all or some of the search terms.
Traditional searches, however, would only produce exact matches.
Yes, PostgreSQL supports the Full-Text Search feature. It is a powerful tool in PostgreSQL and can be
enhanced by incorporating functions like result highlighting or by creating your own unique dictionaries or
functions.
1. What is the process of splitting a large table into smaller pieces called in PostgreSQL?
The partitioned table is a logical structure. It is used to split a large table into smaller pieces, which are called
partitions.
The pgAdmin in PostgreSQL is a data administration tool. It serves the purpose of retrieving, developing,
testing, and maintaining databases.
We can use MVCC (Multi-version concurrency control) to avoid unnecessary locking of a database.
5. What is PL/Python?
We can delete the database by using any one of the below options:
A schema contains tables along with data types, views, indexes, operators, sequences, and functions.
The PostgreSQL operators include - Arithmetic operators, Comparison operators, Logical operators, and
Bitwise operators.
10. What are database callback functions called? What is its purpose?
The database callback functions are called PostgreSQL Triggers. When a specified database event occurs, the
PostgreSQL Triggers are performed or invoked automatically.
Cluster index sorts table data rows based on their key values.
13. What are the benefits of specifying data types in columns while creating a table?
15. What is the disadvantage of the DROP TABLE command in deleting complete data from
an existing table?
Though the DROP TABLE command has the ability to delete complete data from an existing table, the
disadvantage with it is - it removes the complete table structure from the database. Due to this, we need to re-
create a table to store data.
16. How can you delete complete data from an existing table?
We can delete complete data from an existing table using the PostgreSQL TRUNCATE TABLE command.
17. What are the different properties of a transaction in PostgreSQL? Which acronym is used
to refer to them?
The properties of a transaction in PostgreSQL include Atomicity, Consistency, Isolation, and Durability. These
are referred to by the acronym, namely ACID.
The CTIDs field identifies the specific physical rows in a table according to their block and offsets positions in
that table.
The commands used to control transactions in PostgreSQL are BEGIN TRANSACTION, COMMIT, and
ROLLBACK.
20. What are the main differences between SQL and PostgreSQL?
PostgreSQL is an advanced version of SQL. Some of the differences between these two include the following:
Another difference is whereas SQL provides computed columns; the same cannot be expected from
PostgreSQL.
Unlike SQL, in PostgreSQL, you don’t need to create a DLL to see the code what it is doing.
PostgreSQL uses SSL connections to encrypt client or server communications so that security will be ensured.
Atomicity property ensures the successful completion of all the operations in a work unit.
23. What are the advantages of PostgreSQL?
Some of the advantages of PostgreSQL are open-source DBMS, community support, ACID compliance, diverse
indexing techniques, full-text search, a variety of replication methods, and diversified extension functions, etc.
Write-Ahead Logging enhances database reliability by logging changes before any changes or updates are made
to the database
25. What are some of the important data administration tools supported by PostgreSQL?
Some of the important data administration tools supported by PostgreSQL are Psql, Pgadmin, and Phppgadmin.
We can store the binary data in PostgreSQL either by using bytes or by using the large object feature.
In a non-clustered index, the index rows order doesn’t match the order in actual data.
It is a location in the disk. In this, PostgreSQL stores the data files, which contain indices and tables, etc.
Yes. There are a few disadvantages. Some of these include the following:
It doesn’t have the support of a good number of open-source applications when compared to MySQL.
Since it focuses more on compatibility, changes made to improve the speed need more work.
In a SQL Statement, a token represents an identifier, keyword, quoted identifier, special character symbol, or
constant.
The partitioned table is a logical structure. It is used to split a large table into smaller pieces, which are called
partitions.
We can use MVCC (Multi-version concurrency control) to avoid unnecessary locking of a database.
3. What purpose does pgAdmin serve in PostgreSQL?
The pgAdmin in PostgreSQL is a data administration tool. It serves the purpose of retrieving, developing,
testing, and maintaining databases.
4. What is the PostgreSQL feature called that splits a large table into smaller pieces?
7. What would be the most important pieces of information you would want to include in a
schema?
A schema contains tables along with data types, views, indexes, operators, sequences, and functions.
The PostgreSQL operators include: Arithmetic operators, Comparison operators, Logical operators, and Bitwise
operators.
We can delete the database by using any one of the below options:
Cluster index sorts table data rows based on their key values.
12. What do you think are database call back functions? How do they help your application?
The database call back functions are called PostgreSQL Triggers. When a specified database event occurs, the
PostgreSQL Triggers are performed or invoked automatically.
13. What are the benefits of specifying data types in columns while creating a table?
15. What do you think is the disadvantage of the DROP TABLE command?
Though the DROP TABLE command has the ability to delete complete data from an existing table, the
disadvantage with it is: it removes complete table structure from the database. Due to this, we need to re-create
a table to store data.
We can delete complete data from an existing table using the PostgreSQL TRUNCATE TABLE command.
17. What are the different properties of a transaction in PostgreSQL? Which acronym is used
to refer to them?
The properties of a transaction in PostgreSQL include Atomicity, Consistency, Isolation, and Durability. These
are referred to by the acronym, namely ACID.
The CTIDs field identifies the specific physical rows in a table according to their block and offsets positions in
that table.
The commands used to control transactions in PostgreSQL are BEGIN TRANSACTION, COMMIT, and
ROLLBACK.
20. What are the main differences between SQL and PostgreSQL?
PostgreSQL is an advanced version of SQL. Some of the differences between these two include the following:
PostgreSQL uses SSL connections to encrypt client or server communications so that security will be ensured.
Atomicity property ensures the successful completion of all the operations in a work unit.
23. What do you think are some of the advantages of using PostgreSQL?
Some of the advantages of PostgreSQL are open-source DBMS, community support, ACID compliance, diverse
indexing techniques, full-text search, a variety of replication methods, and diversified extension functions, etc.
The Write-Ahead Logging enhances database reliability by logging changes before any changes or updates are
made to the database.
Some of the important data administration tools supported by PostgreSQL are Psql, Pgadmin, and Phppgadmin.
26. How do you think you can store binary data in PostgreSQL?
We can store the binary data in PostgreSQL either by using bytes or by using the large object feature.
In a non-clustered index, the index row order doesn’t match the order in actual data.
It is a location in the disk. In this, PostgreSQL stores the data files, which contain indices and tables, etc.
Yes. There are a few disadvantages. Some of these include the following:
In a SQL Statement, a token represents an identifier, keyword, quoted identifier, special character symbol, or a
constant.
31. What is the process of splitting a large table into smaller pieces called in PostgreSQL?
In PostgreSQL, the process of splitting a large table into smaller pieces is called table partitioning. It can be
done using several different methods, including range partitioning, list partitioning, and hash partitioning.
32. What are database callback functions called? What is its purpose?
Database callback functions are also known as database triggers. They are instructions automatically executed
in response to specific events on a database table, such as insert, update, or delete operations. The purpose of a
database trigger is to maintain data integrity, enforce business rules, and perform additional actions, such as
auditing or cascading updates.
A clustered index organizes the data rows in a table based on the order of the indexed columns. This means the
rows with the same indexed values will be physically stored together on the storage media. This improves the
performance of queries that involve those indexed columns, as the database engine can retrieve the relevant data
faster.
PostgreSQL is a free, open-source relational database management system (RDBMS) that emphasizes
extensibility and SQL compliance. It is known for its robust feature set, high performance, and reliability.
PostgreSQL is a powerful, open-source relational database management system known for its stability, data
integrity, and robust feature set. Some of its most important features include:
ACID compliance
Support for advanced data types and SQL
Multi-version concurrency control (MVCC)
Rich indexing options
In PostgreSQL, several data types can be used, including integers , floating-point numbers, character and string
types, binary data, date and time types, and Boolean values.
In PostgreSQL, the base directory refers to the top-level directory where all data files for a specific database
cluster are stored. This includes subdirectories for each database within the cluster, as well as files containing
configuration settings and other metadata.
In PostgreSQL, a string constant is a fixed sequence of characters that is enclosed in single quotes.
Multi-Version Concurrency Control (MVCC) is a technique used in PostgreSQL to allow multiple transactions
to access the same data simultaneously without conflicting with each other. It is used by creating a separate
version of a row for each transaction that modifies it.
41. What is the key difference between multi-version and lock models?
A multi-version model allows multiple versions of the same data to exist simultaneously, while a lock model
only allows one version of the data to exist at a time, and locks the data while it is being edited.
Indices in PostgreSQL are used to improve the performance of data retrieval operations by providing a faster
way to look up specific rows in a table.
In PostgreSQL, a token is a sequence of characters that represents a single syntactic element in a SQL query.
Tokens include keywords, operators, and identifiers, and are used by the PostgreSQL parser to understand the
structure and meaning of a query.
PostgreSQL 9.1 introduced several new features, including support for parallel query execution, improved
indexing options, and support for replication slots. It also added support for unlogged tables and improved
support for JSON data types.
PostgreSQL was first released in 1996. It was developed at the University of California, Berkeley as a part of
the Postgres project, and is the most popular open-source database in use today.
46. How can you start, stop, and restart the PostgreSQL server on Windows?
To start, stop, and restart the PostgreSQL server on Windows, use the command "pg_ctl start/stop/restart -D
[data directory]" in the command prompt.
47. What is the difference between clustered index and non clustered index in PostgreSQL?
A clustered index helps in determining the physical order of data in a table, while a non-clustered index
provides a faster way to look up data without affecting the physical order of the table in PostgreSQL.
49. What do you understand about parallel queries in PostgreSQL? How does it work?
Parallel query in PostgreSQL is a feature that allows multiple parallel worker processes to work on a single
query to improve performance and speed up query execution time by breaking down the query into smaller
parts and processing them in parallel.
The reserved words in PostgreSQL are keywords that have a special meaning in the SQL language and cannot
be used as identifiers (such as table or column names) without being quoted.
A tablespace in PostgreSQL is a location on disk where data files of specific tables or indexes can be stored,
allowing for more control over disk usage and file placement.
53. What are the three phenomena that must be prevented between concurrent transactions
in PostgreSQL?
The three phenomena that must be prevented between concurrent transactions in PostgreSQL are lost updates,
dirty reads, and inconsistent reads.
54. What are the key differences between Oracle and PostgreSQL?
A sequence in PostgreSQL is a database object that generates a sequence of unique integers, which can be used
as the default value for a column or as part of a primary key.
An inverted file in PostgreSQL is a data structure used to efficiently search and retrieve data from a table or
index by mapping terms or keywords to the corresponding rows or documents in which they appear.