0% found this document useful (0 votes)
125 views8 pages

PostgreSQL Interview Questions Top Answers

The document discusses interview questions related to PostgreSQL. It covers topics like what PostgreSQL is, its advantages, data types used, parallel queries, triggers, compatibility with cloud and maximum table size.

Uploaded by

Sameer verma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
125 views8 pages

PostgreSQL Interview Questions Top Answers

The document discusses interview questions related to PostgreSQL. It covers topics like what PostgreSQL is, its advantages, data types used, parallel queries, triggers, compatibility with cloud and maximum table size.

Uploaded by

Sameer verma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 8

POSTGRESQL INTERVIEW QUESTIONS

PostgreSQL is the most advanced, open-source relational database management system that
uses SQL (Structured Query Language) as its main query language. Several big tech
companies such as Apple and Cisco have embraced the technology in their back-end
applications. PostgreSQL supports multiple operating systems like Windows, Linux, and
macOS.
Read along as we cover all the top industry questions related to PostgreSQL and help you ace
your next interview.
1. What is PostgreSQL?
PostgreSQL, commonly referred to as Postgres, powers applications with its robust and open-
source relational database management system. Developers leverage its extensive features,
such as Function Overloading and Table Inheritance, to create advanced applications.
PostgreSQL seamlessly operates across major operating systems, including Windows, UNIX,
macOS, and Linux.

2. What are the advantages of PostgreSQL?


The advantages of PostgreSQL include:
• PostgreSQL is highly fault-tolerant, owing to its feature of write-ahead logging.
• It is flexible and easy to learn.
• It supports a variety of replication methods.
• It can be used for large-scale web applications because of its powerful and robust nature.
• As the source code of PostgreSQL is available for free due to its open-source license, users
can edit and modify it easily according to their business requirements.
3. Define a non-clustered index.
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.
4. Which data types are used in PostgreSQL?
The following data types are used in PostgreSQL:-
• Numeric data type (Integer, Float)
• Geometric primitives
• Boolean data type
• Character data type (varchar, char, text)
• Monetary data type
• Array
• Document data type (JSON, XML, Key-value, etc.)
• Date/Time data type
• Customization data type (Composite, custom types, etc.)

1
5. What do you mean by a parallel query?
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.
6. What is the meaning of PgAdmin?
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.
8. What is the full form of MVCC?
The full form of MVCC is Multi-version Concurrency Control.
9. Why do companies use PostgreSQL?
Numerous high-profile organizations, such as Apple, Spotify, IMDb, Instagram, and Skype,
make use PostgreSQL database, owing to its excellent features:
• PostgreSQL is extremely easy to use.
• It is a powerful and robust open-source tool.
• PostgreSQL follows and supports the ACID properties.
• It supports MVCC (Multiversion Concurrency Control).
• It is highly fault-tolerant.
• It runs on almost all different operating systems.
10. What is the full form of GEQO?
The full form of GEQO is Genetic Query Optimization. It enables non-exhaustive search to
efficiently manage large join queries in PostgreSQL.
11. What do you mean by index 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.
12. What is the main query language of PostgreSQL?
SQL or Structured Query Language is the main query language of PostgreSQL.
2
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.
14. What is the full form of ORDBMS?
The full form of ORDBMS is Object-Relational Database Management System.
15. What do you mean by a string constant in PostgreSQL?
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.
Example: ‘This is an example of a string constant bound by single quotes.’
16. What is Multi-version Control?
Multi-version Concurrency Control or MVCC is a technique to enhance database performance
by handling concurrency in PostgreSQL databases. It prevents the locking of databases. MVCC
reduces the delay time that users face while logging into their accounts and comes into action
when someone else is accessing the contents of the account.
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.
17. Explain table partitioning in PostgreSQL.
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
19. What do you mean by the CTID field in PostgreSQL?

3
In PostgreSQL, CTIDs serve as unique identifiers for each record within a table. The CTID field
enables the precise location of physical rows based on their offset and block positions,
facilitating the effective distribution of data across the table. By utilizing CTID fields, users can
gain insights into the actual storage positions of rows within the database table.
20. How do you start a database server in PostgreSQL?
To access the database data, the first step is to start the database server. The database server
application, known as Postgres, plays a crucial role in managing the database. It actively seeks
information about the data it needs to utilize, which is essential for its effective functioning. By
initiating the database server and providing the necessary data location details, users can
actively enable access and utilization of the database data through the Postgres software.The -
D option is used to accomplish this.
Execute these commands to start the database server:
• usr/local/etc/rc.d/010.pgsql.sh start
• /usr/local/etc/rc.d/postgresql start
Another way to start a database server in PostgreSQL is:
• 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.
21. Explain the use of PostgreSQL triggers.
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.
Are you looking forward to building a career in AWS? Enroll in this professional course
to start your journey today! AWS Certification Training Course for Solutions Architect
23. State the maximum size of a table on PostgreSQL.
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.
24. What are the differences between PostgreSQL and MongoDB?
PostgreSQL MongoDB
PostgreSQL is a relational database MongoDB is a non-relational database
management system. management system.
PostgreSQL was created using the C MongoDB was created using the C++ language.
4
language.
PostgreSQL is object-oriented. MongoDB is document-oriented.

PostgreSQL stores data in the form of MongoDB stores data in the form of key-value
different tables. pairs as one record.
PostgreSQL is faster than MongoDB. MongoDB is relatively slower than PostgreSQL.
25. State the role of tokens in PostgreSQL.
Tokens in PostgreSQL have an important role in the parsing and interpretation of SQL
statements. When SQL queries are executed, the PostgreSQL server breaks down the
statements into smaller units known as tokens. These tokens represent various elements like
keywords, identifiers, literals, operators, and punctuation marks. This tokenization process
ensures accurate parsing and evaluation of SQL queries, enabling the server to handle
database operations efficiently.
26. When should a developer use PostgreSQL?
Developers should choose PostgreSQL when they require a dependable and feature-rich
database management system. PostgreSQL is suitable for diverse applications, including web
development, data analysis, and enterprise solutions. It provides advanced features like JSON
support and geospatial capabilities. With its cross-platform compatibility and active community,
developers can rely on PostgreSQL for scaling and achieving optimal performance while
managing complex data.
27. Describe the history of PostgreSQL in brief.
PostgreSQL originated as a vital component of the POSTGRES project initiated by Professor
Michael Stonebraker in 1986 at the University of California, Berkeley. It boasts compatibility with
major operating systems such as macOS, Windows, Linux, and UNIX.
PostgreSQL has upheld ACID properties since 2001, with continuous core platform
development spanning over three decades. It encompasses noteworthy additions like the
PostGIS database extender and has become the standard database for macOS. commonly
known as Postgres, due to its widespread adoption of the SQL Standard among relational
databases.
28. List the disadvantages of PostgreSQL.
Despite its many advantages, PostgreSQL has numerous disadvantages. Some of these
include:
• PostgreSQL may have a slower speed compared to MySQL.
• It supports fewer open-source applications compared to MySQL.
• Market recognition for PostgreSQL has been challenging due to its lack of specific
ownership.
• Its performance rate may be lower than that of MySQL in certain situations.
To know what are the differences between the popular databases i.e. Postgresql vs MySQL.
29. Explain the term ‘Sequence’ in PostgreSQL.

5
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.
30. How can you take the backup of a database?
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.
Another way to backup the database is:
/usr/local/bin/pg_dump mydatabase > mydatabase.pgdump
31. Explain the procedure to set up PgAdmin in PostgreSQL.
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.
To set up PgAdmin in PostgreSQL, follow these steps:
• Start and launch pgAdmin 4.
• Then select “Add new Server” from the “Quick Link” section under the “Dashboard” menu.
• Choose the “Connection” tab in the “Create-Server” box after clicking “Add new Server” in
the window.
• Put your server’s IP address in the “Hostname/Address” column to configure the
connection.
• Finally, you must define “Port” as “5432,” which is the PostgreSQL server’s default port.
32. Differentiate between clustered and non-clustered indexes.
Clustered Index Non-Clustered Index
It is faster than the non-clustered index. It is relatively slower as compared to the
clustered index.
Index is considered the main data in the clustered In the case of a non-clustered index, the
index. index is the copy of data.
The clustered index has the ability to store data The non-clustered index cannot naturally
naturally on the disk. store data on the disk.
It requires lesser memory for operations as The non-clustered index requires more
compared to the non-clustered index. memory to perform operations.
A table can consist of only one clustered index. A table can contain multiple non-clustered
indexes.
33. What is the procedure for storing binary data in PostgreSQL?
The users can store binary data in PostgreSQL in two distinct ways:
6
• By using the data type BYTEA.
• By using the Large Object feature.
34. What do you understand by the enable-debug command in PostgreSQL?
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.
37. How can the first 5 records be selected in PostgreSQL?
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.
38. What are the features of PostgreSQL?
PostgreSQL or Postgres is an object-relational database management system or
ORDBMS. Some of its prominent features are as follows:-
• Extremely high fault-tolerance
• Free to download
7
• Reliable and secure
• Robust and powerful
• Easy recovery process
• Low maintenance cost
• Easily compatible with a wide variety of platforms and languages.
• High availability
• Easy to use
39. How can you stop a PostgreSQL Server? Can you stop a particular
database in the PostgreSQL cluster?
To stop a PostgreSQL server implement the following steps and commands:
• For Windows
The first step is to locate the PostgreSQL database directory.
After that, open the command prompt and execute the following command-
pg_ctl -D "C:\Program Files\PostgreSQL\9.6\data" stop
An alternative way to stop the PostgreSQL server on Windows is:
• Press the Windows key + R simultaneously to enter the Run Window.
• Type services.msc to find the PostgreSQL services.
• Using the installed version, locate the Postgres service.
• Click Stop to stop the database server.
For Linux
Use the following command on Linux to stop the server-
sudo service postgresql stop
• For macOS
Use the following command on macOS to stop the server manually-
pg_ctl -D /usr/local/var/postgres stop
No, PostgreSQL does not allow the user to stop a specific database in the cluster.
40. Does PostgreSQL support Full-Text Search?
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.

You might also like