Atikh's DBA blog
  • Home
  • Oracle
  • MySQL
  • MongoDB
  • PostgreSQL
  • Snowflake
  • About Me
  • Contact Us

Physical location of datafiles in PostgreSQL

 Atikh Shaikh     PostgreSQL     1 comment   

In this article, we will discuss finding the physical location of data files for a particular database.
In the logical structure, we can see different databases and tables or any other objects under it but as DBA we should also be aware of how to find out the location of data files associated with a database or a table.
In the article table creation in Postgres database we learned to create tables now we use the same tables here to perform a demonstration. Assume we have the below details

Database name- tech_db
Table name - employee

tech_db=# \c tech_db
You are now connected to database "tech_db" as user "postgres".
tech_db=# \dt
          List of relations
 Schema |   Name   | Type  |  Owner
--------+----------+-------+----------
 public | employee | table | postgres
(1 row)

tech_db=# select * from employee;
 emp_id | emp_name | age
--------+----------+-----
    123 | sam      |  25
    124 | John     |  24
(2 rows)

as of now we do not physical location of this database or table, now we will try to find out the same

Read More : Database Creation in PostgreSQL

Data Directory

First of all check data directory using show command

tech_db=# show data_directory;
  data_directory
------------------
 E:/postgres/data
(1 row)

Above we got data directory, as by default folders for each database gets created under data_directory/base location

data-directory-postgresql

as we see folder as created with some random numbers which is called as OID , value of OID can be find using below query.

tech_db=# select datname, oid from pg_database where datname='tech_db';
 datname |  oid
---------+-------
 tech_db | 16393
(1 row) 

we can see value of oid for database tech_db is 16393 and in above screenshot we can find the same folder under base directory. Under it you can find number of files and now lets find the file related to our table employee

tech_db=# select relname,oid, relfilenode from pg_class where relname='employee';
 relname  |  oid  | relfilenode
----------+-------+-------------
 employee | 16394 |       16394
(1 row)

pick up the relfilenode from above output, you will be able to see same file under folder 16393

physical-location-of-datafile-in-postgresql






  • Share This:  
  •  Facebook
  •  Twitter
  •  Instagram
  •  Pin
  •  linkedin
  •  reddit
Email ThisBlogThis!Share to XShare to Facebook
Newer Post Older Post Home

1 comment:

  1. James Zicrov4 July 2021 at 12:19

    This is an exclusive post about PostgreSQL and the use of foreign data wrapper actually overcomes and helps people solve the most complex problems and errors.

    SSIS postgresql read

    ReplyDelete
    Replies
      Reply
Add comment
Load more...

Author

Atikh Shaikh
View my complete profile

Categories

  • MongoDB (18)
  • Oracle 12c (30)
  • Oracle12cR2 New Feature (3)
  • PostgreSQL (21)
  • RMAN (10)
  • Snowflake (8)
  • mysql (23)
  • oracle (75)

Blog Archive

  • ►  2018 (38)
    • ►  November (25)
    • ►  December (13)
  • ►  2019 (33)
    • ►  January (15)
    • ►  February (6)
    • ►  March (2)
    • ►  April (5)
    • ►  May (5)
  • ▼  2020 (5)
    • ►  April (1)
    • ►  May (2)
    • ▼  July (2)
      • Physical location of datafiles in PostgreSQL
      • 12cR2 New Feature -sql prompt "history"
  • ►  2021 (8)
    • ►  June (3)
    • ►  July (3)
    • ►  August (1)
    • ►  December (1)
  • ►  2022 (33)
    • ►  May (3)
    • ►  June (10)
    • ►  July (3)
    • ►  August (4)
    • ►  September (8)
    • ►  October (3)
    • ►  November (2)
  • ►  2023 (14)
    • ►  February (1)
    • ►  April (5)
    • ►  May (2)
    • ►  June (1)
    • ►  September (1)
    • ►  October (1)
    • ►  December (3)
  • ►  2024 (5)
    • ►  January (2)
    • ►  March (3)
  • ►  2025 (7)
    • ►  March (1)
    • ►  April (3)
    • ►  May (2)
    • ►  August (1)
  • ►  2026 (3)
    • ►  January (1)
    • ►  May (2)

Popular Posts

  • Oracle DBA Scripts
    Below are some Oracle scripts used in day to day activities note that below script will generate sql statements and then we need to run...
  • Oracle AI Database 26ai: Redefining Operational Continuity
    Oracle’s latest release, AI Database 26ai , is built around one clear promise: making enterprise database operations faster, more resilient,...
  • Error Code: 1419. You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
    You must have got mail from application team that they are facing below error while performing operations in database Error: Error Code: ...
  • ORA-29283: invalid file operation: unexpected "LFI" error (1509)[29437]
    I was trying to export the schema in my windows PC, it got stuck with below error    C:\Users\shaik\Videos\technodba exp>expdp userid...
  • Login to MySQL Database on Linux
    Below is method to login to mysql database on Linux server $ mysql -h <hostname> -u <username> -p <database name> ...

Labels

oracle Oracle 12c mysql PostgreSQL MongoDB oracle 19c Oracle23c oracle19c Orale PDB-CDB oracle12c python AWS Oracle ASM Virtualbox pluggable database storage engine

Pages

  • Disclaimer
  • Privacy Policy

Follow TechnoDBA

Copyright © Atikh's DBA blog | Powered by Blogger