পোস্টগ্র্রেএসকিউএল এর ডেটা ডিরেক্টরি আমি কীভাবে খুঁজে পাব?


123

আমি ভুলে গিয়েছিলাম কীভাবে আমি পোস্টগ্র্রেএসকিউএল শেষবারের মতো শুরু করেছি (এটি মাস কয়েক আগে ছিল) এবং ডেটা ডিরেক্টরিটি কোথায় রয়েছে তা আমার মনে নেই। postgresকমান্ড ডেটা ডিরেক্টরিতে অবস্থান প্রয়োজন বলে মনে হয়।

আমি ম্যাকওএসএক্স এ আছি যদি এটি সাহায্য করে।

/usr/local/postgres আমার ম্যাকের অস্তিত্ব নেই।

নীচে সরবরাহ করা উত্তরগুলি ব্যবহার করে, আমি দেখতে পেয়েছি যে এটি এখানে ছিল:

/usr/local/var/postgres

আপনি Postgres ইনস্টল করতে Homebrew ব্যবহার করেন, তখন তারপর dataহয়/usr/local/var/postgres
andrerpena

উত্তর:


152

আপনি যদি সুপারসার অ্যাক্সেসের সাহায্যে ডাটাবেসের সাথে সংযোগ করতে পারেন তবে

SHOW data_directory;

সবচেয়ে সংক্ষিপ্ততম উপায়।

যদি সার্ভারটি চলমান না থাকে এবং ডেটা ডিরেক্টরিটি কোথায় ছিল আপনি ভুলে গিয়েছিলেন, তবে আপনাকে সত্যিই নিজেকে অনুমান করতে হবে। একটি অপারেটিং সিস্টেম নির্দিষ্ট কনভেনশন বা শেল ইতিহাস ইঙ্গিত সরবরাহ করতে পারে।


7
যদি এটি চলমান না থাকে তবে postgresql.conf এর জন্য একটি অনুসন্ধান চালানোর চেষ্টা করুন, যা সাধারণত ডেটা ডিরেক্টরিতে থাকে বা ডেটা ডিরেক্টরি সম্পর্কে তথ্য থাকবে।
এক্সজিলা

34

আপনি এটির জন্যও জিজ্ঞাসা করতে পারেন

select setting from pg_settings where name = 'data_directory';

18

pg_config ডেটা ডিরেক্টরি সহ অনেক তথ্য দেখায়:

CONFIGURE = '--disable-debug' '--prefix=/usr/local/Cellar/postgresql/9.3.2' 
            '--datadir=/usr/local/Cellar/postgresql/9.3.2/share/postgresql' 
            '--docdir=/usr/local/Cellar/postgresql/9.3.2/share/doc/postgresql' 
            '--enable-thread-safety' '--with-bonjour' '--with-gssapi' '--with-krb5' 
            '--with-ldap' '--with-openssl' '--with-pam' '--with-libxml' '--with-libxslt'
            '--with-ossp-uuid' '--with-python' '--with-perl' '--with-tcl' 'CC=clang' 
            'CFLAGS=-I/usr/local/Cellar/ossp-uuid/1.6.2/include' 
            'LDFLAGS=-L/usr/local/Cellar/ossp-uuid/1.6.2/lib' 'LIBS=-luuid'

যদিও এটি মদ-নির্দিষ্ট জিনিস হতে পারে; বিনা ছাড়াই আমি জানি না এটি কী দেখায়।


1
আমিও ব্রিউ ব্যবহার করছি। এখন অবধি, তালিকাভুক্ত ডেটাডিরের প্রস্তাবিতগুলির pg_config --configureঅনুরূপ নয় brew info postgresql(যা তালিকাভুক্তের সাথে একটি সিমলিংক নয় $(brew --prefix)/var/postgres)। মনে হচ্ছে সঠিকভাবে কনফিগার ফ্ল্যাগ ব্যবহার করার ক্ষেত্রে সূত্রটি কিছুটা শিথিল।
ওয়াজ

উবুন্টু / দেবাইনের জন্য দ্রষ্টব্য: pg_config অ্যাপটি postgresql-<ver>প্যাকেজটির সাথে ইনস্টল করা নেই , তবে এটির প্রয়োজনও রয়েছেpostgresql-server-dev-<ver>
pscl

@ পিএসসিএল সত্য, তবে ওপি ওএস এক্সের অধীনে ছিল
ডেভ নিউটন

বুঝতে পারছিল না। দেবিয়ান ব্যবহারকারীদের ভবিষ্যতের রেফারেন্সের জন্য একটি নোট (যেমন আমার মতো) এর জেনেরিক শিরোনামের ভিত্তিতে এই প্রশ্নটির উপর হোঁচট খাচ্ছে।
পিএসএসএল

1
@Tom আমি মনে করি না সূত্র সত্যিই datadir কনফিগার করতে গৃহীত ব্যবহার করতে দেয়ার উদ্দেশ্যে করা ... এটি একটি কমান্ড ARG যেমন datadir পাশ করা প্রত্যাশা, আপনি দেখতে পারেন যখন এটি একটি পরিসেবা হিসাবে স্বয়ংক্রিয়ভাবে চালানো হচ্ছে পাস পরার $(brew --prefix postgresql)/homebrew.mxcl.postgresql.plist, দেখো -D(এটি আমার /usr/local/var/postgresউপর) অনুসরণ করার পথে
ভাজ

16

উবুন্টু-ডেবিয়ানে, pg_lsclustersকমান্ডটি ব্যবহার করে দেখুন।

আমার মেশিনে:

pg_lsclusters 
Version Cluster   Port Status Owner    Data directory             Log file
8.4     main      5432 online postgres /home/adam/db/main/data    /home/adam/db/main/log

8

আপনি যদি লগ ইন করতে না পারেন (যেমন, আপনার পাসওয়ার্ড ভুলে গেছেন) তবে পরিষেবা চলছে, ম্যাকোস এক্স একটি পিক্সিক ভেরিয়েন্ট হিসাবে, আপনি সর্বদা psএটি আর্গুমেন্ট হিসাবে পাস হচ্ছে কিনা তা পরীক্ষা করতে পারেন:

দুটি পোস্টগ্রাসের দৃষ্টান্ত সহ একটি লিনাক্স বাক্সে:

-bash-3.2$ ps ax | grep postgres | grep -v postgres:
 4698 ?        S      9:59 /opt/PostgreSQL/8.4/bin/postgres -D /opt/PostgreSQL/8.4/data
 6115 ?        S      8:16 /opt/PostgreSQL/8.4/bin/postgres -D /opt/PostgreSQL/8.4/data_sums
30694 pts/9    S+     0:00 grep postgres

2

Postgresql.conf খুলুন, লাইনে যান:

data_directory='/var/lib/postgresql/main/'

আপনার উত্তর


আপনি কোথায় পাবেনpostgresql.conf
user5359531

@ user5359531 আপনি কি করতে পারেন find / -iname "postgresql.conf" 2>/dev/nullখুঁজে বের করতে
টম

আমার postgresql.confকোন data_directoryসংজ্ঞা দেওয়া হয়নি । এটি কেবলমাত্র একটি মন্তব্যেই রেফারেন্স হয়েছে:#data_directory = 'ConfigDir' # use data in another directory
সিম্পিজে

2

ওএসএক্সের জন্য পোস্টগ্রাইএসকিউএল ডেস্কটপ ক্লায়েন্টের আধুনিক সংস্করণগুলিতে একটি সুবিধাজনক "সার্ভার সেটিংস" ডায়ালগ রয়েছে যা আপনাকে কেবল তথ্য ডিরেক্টরি তালিকাভুক্ত না করে সরাসরি এটি খুলতে দেয়।

যদি আপনি কোনও র্যান্ডম মেশিন ক্র্যাশ অনুভব করেন যা একটি লক ফাইলের পিছনে ফেলে থাকে তবে খুব দরকারী।

এখানে চিত্র বর্ণনা লিখুন


কোথায় এই সংলাপ? Postgresql.org/download/macosx- এর মাধ্যমে 9.5 ডাইরেক্ট ইনস্টল (ব্রিউ নয়) এর মতো আমি এর মতো কিছুই খুঁজে পাচ্ছি না । এটি প্যাগাডমিন III এর সাথে আসে তবে এটির এই সংলাপটি মনে হয় না। আমি কি কোনও ডেস্কটপ ক্লায়েন্ট খুঁজে পাচ্ছি না?
জন লিটল

1

ওএস এক্স 10.8 এবং 10.9 (10.10 নয়) ইনস্টল করা সার্ভার অ্যাপ্লিকেশন সহ, একটি টার্মিনাল উইন্ডোতে টাইপ করুন

sudo serveradmin settings postgres

ওএস এক্স ১০.৯ ম্যাভেরিক্সে, এটি থেকে আউটপুটটি আমি পাই যা ডেটা ডিরেক্টরি অন্তর্ভুক্ত করে।

postgres:log_connections = "on"
postgres:unix_socket_directory = "/private/var/pgsql_socket"
postgres:listen_addresses = "127.0.0.1,::1"
postgres:unix_socket_group = "_postgres"
postgres:log_statement = "ddl"
postgres:log_line_prefix = "%t "
postgres:unix_socket_permissions = "0770"
postgres:log_lock_waits = "on"
postgres:logging_collector = "on"
postgres:log_filename = "PostgreSQL.log"
postgres:dataDir = "/Library/Server/PostgreSQL/Data"
postgres:log_directory = "/Library/Logs/PostgreSQL"

আমি কেবল এটি ইউসেমাইটে (ওএস এক্স 10.10) এ চেষ্টা করেছি এবং পোস্টগ্রাগুলি আর সার্ভারাদমিনের অধীনে কোনও পরিষেবা হিসাবে তালিকাভুক্ত করা হয়নি (যদিও পোস্টগ্রাগগুলি ইনস্টল থাকা আছে)।

sudo serveradmin list

পোস্টগ্রাগের তালিকা দেয় না


1

উইন্ডোজ সার্ভার ২০১২-এ, কমান্ডটি pg_configকোনও পাগল কারণে ডেটা ডিরেক্টরিটি প্রকাশ করে নি। তবে আমি এটি ফাইলটি দেখে খুঁজে পেয়েছি C:\Program Files\PostgreSQL\9.4\pg_env.bat, যার মধ্যে এই লাইনটি রয়েছে:

@SET PGDATA=E:\POSTGRESQL

এটাই আমার দরকার উত্তর ছিল।


0

কীভাবে স্ট্যান্ডার্ড ইউটিলিটি pg_config ব্যবহার করা যায় সেহেতু pg_config --bindirপোস্টগ্রিএসকিউএল সংকলন করতে কনফিগার পরামিতিগুলি ব্যবহার করতে এবং সেগুলি পার্স করার জন্যpg_config --configure


--bindirএক্সিকিউটেবলের অবস্থান প্রদর্শন করে, ডেটা ডিরেক্টরি নয়। --configureঠিক আছে, যদিও একটিতে আউটপুটটি কিছুটা পার্স করতে হয়।
dezso

হ্যাঁ এটি সত্য এবং দুর্ভাগ্যক্রমে pg_config এর কোনও পরামিতি নেই যা ডেটাডির প্রকাশ করবে। আমি যখন এটি লিখেছিলাম, আমি ভেবেছিলাম যে দাতাদির কোনও বিশেষ অবস্থানে নেই তা ধরে নিয়ে কমপক্ষে এটি কিছু কাছে দেয়। দাতাদির তখন বিন্দির সাথে সম্পর্কিত হবে যেমন ../data
জ্যাক

0

উল্লিখিত হিসাবে, একজন যেমন psডেটা অবস্থান ক্যাপচার করতেও ব্যবহার করতে পারে :

ps -e |egrep postgres|egrep -E '[[:blank:]]+\-D'| perl -pe 's/^.*[[:blank:]]+-D[[:blank:]]+(\S+).*?$/$1/'

এটি বেশিরভাগ সময় কাজ করবে। এটি /usr/local/pgsql/dataপ্রবর্তনকালে পোস্টগ্রেএসকিউএল এর পরামিতিগুলিতে নির্দিষ্ট বা অন্য যে কোনও জায়গায় ফিরে আসত ।


0

@ ম্যাথেজ মার্ক মিলারের উত্তরের ভিত্তিতে পোস্টগ্রিস 11 ব্যবহার করে ম্যাকোস 10.14 এ এটি অবস্থিত:

~/Library/Application Support/Postgres

0

শীর্ষ দুটি উত্তর থেকে সাধারণীকরণ:

কমান্ড-লাইনে সরাসরি ডেটা ডিরেক্টরিটি প্রদর্শন করতে:

psql -U postgres -tA -c "SHOW data_directory;"

ফাইল এবং ডিরেক্টরিতে অন্য সমস্ত সংজ্ঞায়িত পথগুলি দেখতে:

psql -U postgres -c "SELECT name, setting FROM pg_settings WHERE setting LIKE '/%';"

নমুনা আউটপুট:

          name           |                 setting                  
-------------------------+------------------------------------------
 config_file             | /etc/postgresql/9.6/main/postgresql.conf
 data_directory          | /mnt/pg_ssd_500/9.6/main
 external_pid_file       | /var/run/postgresql/9.6-main.pid
 hba_file                | /etc/postgresql/9.6/main/pg_hba.conf
 ident_file              | /etc/postgresql/9.6/main/pg_ident.conf
 ssl_cert_file           | /etc/ssl/pg_server.cer
 ssl_key_file            | /etc/ssl/private/pg_server.key
 stats_temp_directory    | /var/run/postgresql/9.6-main.pg_stat_tmp
 unix_socket_directories | /var/run/postgresql
(9 rows)

(উইন্ডোজ অন, প্রতিস্থাপন LIKE '/%'সঙ্গে LIKE '%/%'কারণ পাথ একটি চালক অক্ষরটি দিয়ে শুরু)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.