ডিফল্ট ডিরেক্টরিটি কী যেখানে PostgreSQL সমস্ত ডাটাবেস লিনাক্সে রাখে?
ডিফল্ট ডিরেক্টরিটি কী যেখানে PostgreSQL সমস্ত ডাটাবেস লিনাক্সে রাখে?
উত্তর:
" ডিরেক্টরি যেখানে পোস্টগ্র্যাস্কল সমস্ত ডাটাবেস রাখে " (এবং কনফিগারেশন) কে "ডেটা ডিরেক্টরি" বলা হয় এবং পোস্টগ্র্রেএসকিউএল কল করে (কিছুটা বিভ্রান্তিকরভাবে) একটি " ডাটাবেস ক্লাস্টার ", যা বিতরণকৃত কম্পিউটিংয়ের সাথে সম্পর্কিত নয়, তার সাথে মিলে যায়, এর অর্থ কেবল একটি গ্রুপ পোস্টগ্রিজ এসকিউএল সার্ভার দ্বারা পরিচালিত ডেটাবেস এবং সম্পর্কিত অবজেক্টগুলির।
ডেটা ডিরেক্টরিটির অবস্থান বিতরণের উপর নির্ভর করে। আপনি যদি উত্স থেকে ইনস্টল করেন তবে ডিফল্টটি হ'ল /usr/local/pgsql/data:
ফাইল সিস্টেমের শর্তে, একটি ডাটাবেস ক্লাস্টার একটি একক ডিরেক্টরি হবে যার অধীনে সমস্ত ডেটা সংরক্ষণ করা হবে। আমরা এটিকে ডেটা ডিরেক্টরি বা ডেটা অঞ্চল বলি। আপনি যেখানে আপনার ডেটা সঞ্চয় করতে পছন্দ করেন এটি সম্পূর্ণরূপে আপনার। কোনও ডিফল্ট নেই, যদিও / usr / স্থানীয় / pgsql / ডেটা বা / var / lib / pgsql / ডেটার মতো অবস্থানগুলি জনপ্রিয়। ( রেফ )
তদতিরিক্ত, একটি চলমান PostgreSQL সার্ভারের একটি উদাহরণ একটি ক্লাস্টারের সাথে সম্পর্কিত; কমান্ড লাইন অপশনে সার্ভার ডেমন (" পোস্টমাস্টার " বা " পোস্টগ্রিস ") -Dবা PGDATAপরিবেশের পরিবর্তনশীল (সাধারণত চলমান ব্যবহারকারীর স্কোপে সাধারণত postgres) এর ডেটা ডিরেক্টরিটির অবস্থানটি সরবরাহ করা যেতে পারে । আপনি সাধারণত চলমান সার্ভারটি এরকম কিছু সহ দেখতে পান:
[root@server1 ~]# ps auxw | grep postgres | grep -- -D
postgres 1535 0.0 0.1 39768 1584 ? S May17 0:23 /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
নোট করুন যে খুব ঘন ঘন না হলেও একই পোস্টগ্র্রেএসকিউএল সার্ভারের দুটি উদাহরণ (একই বাইনারি, বিভিন্ন প্রক্রিয়া) যা বিভিন্ন "ক্লাস্টার" (ডেটা ডিরেক্টরি) সরবরাহ করে run অবশ্যই, প্রতিটি উদাহরণ তার নিজস্ব টিসিপি / আইপি পোর্টে শুনবে।
/var/lib/postgresql/[version]/data/
কমপক্ষে জেন্টু লিনাক্স এবং উবুন্টুতে 14.04 ডিফল্টভাবে।
আপনি পরম খুঁজে পেতে postgresql.confএবং দেখতে পারেন data_directory। যদি এটি মন্তব্য করা হয় তবে ডাটাবেস ডিরেক্টরিটি এই কনফিগার ফাইল ডিরেক্টরি হিসাবে একই।
/var/lib/8.1/postgresql
/var/lib/pgsql/9.3
একটি ডাটাবেসের সাথে সংযুক্ত হয়ে কমান্ডটি কার্যকর করুন:
SHOW data_directory;
অধিক তথ্য:
https://www.postgresql.org/docs/current/sql-show.html https://www.postgresql.org/docs/current/runtime-config-file-locations.html
ডেবিয়ান 8.1 এবং পোস্টগ্রি 9.4 এর ডিফল্ট প্যাকেজ ম্যানেজার দিয়ে ইনস্টলেশনের পরে কার্যক্ষম-পেতে
ps auxw | grep postgres | grep -- -D
postgres 17340 0.0 0.5 226700 21756 ? S 09:50 0:00 /usr/lib/postgresql/9.4/bin/postgres -D /var/lib/postgresql/9.4/main -c config_file=/etc/postgresql/9.4/main/postgresql.conf
তাই স্পষ্টতই /var/lib/postgresql/9.4/main।
কমান্ডটি pg_lsclusters(কমপক্ষে লিনাক্স / উবুন্টুর অধীনে) বিদ্যমান ক্লাস্টারগুলির তালিকা তৈরি করতে এবং এটিতে ডেটা ডিরেক্টরি ব্যবহার করা যেতে পারে:
Ver Cluster Port Status Owner Data directory Log file
9.5 main 5433 down postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
10 main 5432 down postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
আমি মনে করি সর্বোত্তম পদ্ধতিটি pg_settingভিউয়ের অনুসন্ধান করা :
select s.name, s.setting, s.short_desc from pg_settings s where s.name='data_directory';
আউটপুট:
name | setting | short_desc
----------------+------------------------+-----------------------------------
data_directory | /var/lib/pgsql/10/data | Sets the server's data directory.
(1 row)
কোয়েরির নীচে পোস্টগ্রিজ কনফিগারেশন ফাইলটি খুঁজে পেতে সহায়তা করবে।
postgres=# SHOW config_file;
config_file
-------------------------------------
/var/lib/pgsql/data/postgresql.conf
(1 row)
[root@node1 usr]# cd /var/lib/pgsql/data/
[root@node1 data]# ls -lrth
total 48K
-rw------- 1 postgres postgres 4 Nov 25 13:58 PG_VERSION
drwx------ 2 postgres postgres 6 Nov 25 13:58 pg_twophase
drwx------ 2 postgres postgres 6 Nov 25 13:58 pg_tblspc
drwx------ 2 postgres postgres 6 Nov 25 13:58 pg_snapshots
drwx------ 2 postgres postgres 6 Nov 25 13:58 pg_serial
drwx------ 4 postgres postgres 36 Nov 25 13:58 pg_multixact
-rw------- 1 postgres postgres 20K Nov 25 13:58 postgresql.conf
-rw------- 1 postgres postgres 1.6K Nov 25 13:58 pg_ident.conf
-rw------- 1 postgres postgres 4.2K Nov 25 13:58 pg_hba.conf
drwx------ 3 postgres postgres 60 Nov 25 13:58 pg_xlog
drwx------ 2 postgres postgres 18 Nov 25 13:58 pg_subtrans
drwx------ 2 postgres postgres 18 Nov 25 13:58 pg_clog
drwx------ 5 postgres postgres 41 Nov 25 13:58 base
-rw------- 1 postgres postgres 92 Nov 25 14:00 postmaster.pid
drwx------ 2 postgres postgres 18 Nov 25 14:00 pg_notify
-rw------- 1 postgres postgres 57 Nov 25 14:00 postmaster.opts
drwx------ 2 postgres postgres 32 Nov 25 14:00 pg_log
drwx------ 2 postgres postgres 4.0K Nov 25 14:00 global
drwx------ 2 postgres postgres 25 Nov 25 14:20 pg_stat_tmp