জ্যাঙ্গোতে কীভাবে পোস্টগ্রিসএসকিউএল ডাটাবেস সেট আপ করবেন


107

আমি পাইথন ও জ্যাঙ্গোতে নতুন।

আমি পোস্টগ্র্রেএসকিউএল ডাটাবেস ইঞ্জিন ব্যাকএন্ড ব্যবহার করে একটি জ্যাঙ্গো প্রকল্পটি কনফিগার করছি, তবে প্রতিটি ডাটাবেস ক্রিয়াকলাপে আমি ত্রুটি পাচ্ছি। উদাহরণস্বরূপ, যখন আমি দৌড়ে manage.py syncdbযাই, আমি পাচ্ছি:

C:\xampp\htdocs\djangodir>python manage.py syncdb
Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    execute_manager(settings)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
438, in execute_manager
    utility.execute()
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
261, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
67, in load_command_class
    module = import_module('%s.management.commands.%s' % (app_name, name))
  File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
    __import__(name)
  File "C:\Python27\lib\site-packages\django\core\management\commands\syncdb.py"
, line 7, in <module>
    from django.core.management.sql import custom_sql_for_model, emit_post_sync_
signal
  File "C:\Python27\lib\site-packages\django\core\management\sql.py", line 6, in
 <module>
    from django.db import models
  File "C:\Python27\lib\site-packages\django\db\__init__.py", line 77, in <modul
e>
    connection = connections[DEFAULT_DB_ALIAS]
  File "C:\Python27\lib\site-packages\django\db\utils.py", line 92, in __getitem
__
    backend = load_backend(db['ENGINE'])
  File "C:\Python27\lib\site-packages\django\db\utils.py", line 33, in load_back
end
    return import_module('.base', backend_name)
  File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
    __import__(name)
  File "C:\Python27\lib\site-packages\django\db\backends\postgresql\base.py", li
ne 23, in <module>
    raise ImproperlyConfigured("Error loading psycopg module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: No mo
dule named psycopg

কি ঘটছে সে সম্পর্কে কেউ কি আমাকে একটি সূত্র দিতে পারেন?


11
বেশ পরিষ্কার বলে মনে হচ্ছে: সাইকোপগ নামে কোনও মডিউল নেই। আপনি এটি ইনস্টল করেছেন?
ড্যানিয়েল রোজম্যান

না, আমি না। আমি এটি করার চেষ্টা করব
আন্দ্রে

1
কেউ বলতে পারেন কেন আমাদের জাঙ্গো দিয়ে সাইকোপগি 2 দরকার?
অমৃত

উত্তর:


210

আপনার psycopg2পাইথন লাইব্রেরি ইনস্টল করতে হবে ।

স্থাপন


Http://initd.org/psycopg/ ডাউনলোড করুন , তারপরে পাইথন প্যাথের অধীনে এটি ইনস্টল করুন

ডাউনলোড করার পরে, সহজে টারবলটি বের করুন এবং:

$ python setup.py install

অথবা আপনি যদি চান, এটা হয় দ্বারা ইনস্টল easy_install বা পিপ

( আমি বিনা কারণে ইজিবল ইনস্টল-এর উপরে পাইপ ব্যবহার করতে পছন্দ করি ))

  • $ easy_install psycopg2
  • $ pip install psycopg2

কনফিগারেশন


মধ্যে সেটিংস .py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'db_name',                      
        'USER': 'db_user',
        'PASSWORD': 'db_user_password',
        'HOST': '',
        'PORT': 'db_port_number',
    }
}

- অন্যান্য ইনস্টলেশন নির্দেশাবলী ডাউনলোড পৃষ্ঠা এবং ইনস্টল পৃষ্ঠাতে পাওয়া যাবে ।


2
হাই, আমি আপনার নির্দেশ অনুসরণ করি তবে মনে হয় ব্যবহারকারী / পিডব্লিউডি জোড়াটি সেটিং-এ ব্যবহার করার আগে আমার তৈরি করা উচিত?
ইউলং

2
কিন্তু আমি এই পেতে psycopg2.OperationalError: fe_sendauth: no password suppliedযখন আমি রান python manage.py syncdb। আমি এলোমেলো টেবিলের নাম এবং ব্যবহারকারীর নাম সেট করেছি।
ইউলং

1
@ রেডরিরি ধন্যবাদ, তারা এখন ঠিক আছে;)
আলিরেজা সাভান্দ

1
এফওয়াইআই: জ্যাঙ্গো ১.৯ হিসাবে আপনি বলতে পারেন: 'ENGINE': 'django.db.backends.postgresql',
পাওলো

1
এই উত্তরটির সাথে আমার যে সমস্যাটি হয়েছিল তা django.db.backends.postgresqlহ'ল ডসটি কাজ করে না psycopg2। যা কাজ করেছে তা django.db.backends.postgresql_psycopg2শেষ হয়েছে এবং আপনি যখন উইন্ডোতে পিজএডমিন শুরু করবেন তখন পোর্ট সংখ্যাটি নির্দিষ্ট করা এড়ানো হবে
মুস্তফা-বেলকাসিম

31

আপনার পোস্টগ্র্রেএসকিউএল বিকাশ প্যাকেজ ইনস্টল রয়েছে কিনা তাও নিশ্চিত করুন। উবুন্টুতে আপনাকে এরকম কিছু করতে হবে:

$ sudo apt-get install libpq-dev

21

ধাপে ধাপে আমি ব্যবহার করি:

 - sudo apt-get install python-dev
 - sudo apt-get install postgresql-server-dev-9.1
 - sudo apt-get install python-psycopg2 - Or sudo pip install psycopg2

আপনি আপনার ডাটাবেসগুলি পরিচালনা করতে একটি গ্রাফিক সরঞ্জাম ইনস্টল করতে চাইতে পারেন, এর জন্য আপনি এটি করতে পারেন:

sudo apt-get install postgresql pgadmin3 

এর পরে, আপনাকে অবশ্যই পোস্টগ্রিয়ার ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন করতে হবে, তারপরে:

 - sudo su
 - su postgres -c psql postgres
 - ALTER USER postgres WITH PASSWORD 'YourPassWordHere';
 - \q

আপনার সেটিংস.পি ফাইলটিতে আপনি:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'dbname',
        'USER': 'postgres',
        'PASSWORD': 'postgres',
        'HOST': '',
        'PORT': '',
    }
}

অতিরিক্ত:

আপনি যদি কমান্ড লাইনটি ব্যবহার করে ডিবি তৈরি করতে চান তবে আপনি কেবল এটি করতে পারেন:

- sudo su
- su postgres -c psql postgres
- CREATE DATABASE dbname;
- CREATE USER djangouser WITH ENCRYPTED PASSWORD 'myPasswordHere';
- GRANT ALL PRIVILEGES ON DATABASE dbname TO djangouser;

আপনার সেটিংস.পি ফাইলটিতে আপনি:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'dbname',
        'USER': 'djangouser',
        'PASSWORD': 'myPasswordHere',
        'HOST': '',
        'PORT': '',
    }
}

9

এটি কিছুটা দীর্ঘ মনে হতে পারে তবে এটি কোনও ত্রুটি ছাড়াই আমার পক্ষে কাজ করেছে।

প্রথমে উবুন্টু সফটওয়্যার সেন্টার থেকে phppgadmin ইনস্টল করুন।

তারপরে টার্মিনালে এই পদক্ষেপগুলি চালান।

sudo apt-get install libpq-dev python-dev
pip install psycopg2
sudo apt-get install postgresql postgresql-contrib phppgadmin

অ্যাপাচি সার্ভার শুরু করুন

sudo service apache2 start

অ্যাপাচি ফাইল সম্পাদনা করতে এখন টার্মিনালে এটি চালান।

sudo gedit /etc/apache2/apache2.conf

খোলা ফাইলটিতে নিম্নলিখিত লাইনটি যুক্ত করুন:

Include /etc/apache2/conf.d/phppgadmin

এখন অ্যাপাচি পুনরায় লোড করুন। টার্মিনাল ব্যবহার করুন।

sudo /etc/init.d/apache2 reload

এখন আপনাকে একটি নতুন ডাটাবেস তৈরি করতে হবে। 'পোস্টগ্রিজ' ব্যবহারকারী হিসাবে লগইন করুন। টার্মিনালে চালিয়ে যান।

sudo su - postgres

আপনার যদি 'পোস্টগ্রিস' এর পাসওয়ার্ড নিয়ে সমস্যা হয় তবে আপনি উত্তরটি এখানে https://stackoverflow.com/a/12721020/1990793 ব্যবহার করে পরিবর্তন করতে পারেন এবং পদক্ষেপগুলি দিয়ে চালিয়ে যেতে পারেন।

এখন একটি ডাটাবেস তৈরি করুন

createdb <db_name>

পরে phppgadmin এ লগইন করতে একটি নতুন ব্যবহারকারী তৈরি করুন, একটি নতুন পাসওয়ার্ড সরবরাহ করুন।

createuser -P <new_user>

এখন আপনার পোস্টগ্র্যাসিকেল সেটআপ হয়ে গেছে, এবং আপনি এখানে যেতে পারেন:

http://localhost/phppgadmin/

এবং ডেটাবেস দেখার জন্য আপনার তৈরি করা নতুন ব্যবহারকারীর ব্যবহার করে লগইন করুন।


পিএইচপি নিয়ে বিরক্ত কেন? প্রশ্ন জ্যাঙ্গো সম্পর্কে ...?
সিদ্ধিন এস টমাস

1
@ সিদ্ধিন থমাস পিএইচপিপিজিএডমিন পোস্টগ্রিএসকিউএল এর একটি সাধারণ প্রশাসন সরঞ্জাম। এটি কোন ভাষা / কাঠামোতে ডাটাবেস চলে তার উপর নির্ভর করে না।
জিবু জেমস

পোস্টগ্রিসের জন্য মাইএসকিউএল ওয়ার্কব্যাঞ্চের মতো কিছু নেই?
সিদ্ধিন এস টমাস

1
@ সিধিনথোমাস হ্যাঁ মাইএসকিউএল ওয়ার্কবেঞ্চের মতো অনেকগুলি জিইউআই সরঞ্জাম রয়েছে। এখানে একবার দেখুন। wiki.postgresql.org/wiki/…
জেমস

6

আপনি নিম্নলিখিত কমান্ড দিয়ে "সাইকোপগ" ইনস্টল করতে পারেন:

# sudo easy_install psycopg2

বিকল্পভাবে, আপনি পিপ ব্যবহার করতে পারেন:

# pip install psycopg2

easy_install এবং পিপ সঙ্গে অন্তর্ভুক্ত করা হয় ActivePython , অথবা নিজে থেকে ইনস্টল নিজ নিজ প্রকল্পের সাইট।

অথবা, সহজভাবে পেতে প্রাক-বিল্ট উইন্ডোজ ইনস্টলারটি পান


2
অথবা sudo apt-get install python-psycopg2আপনি যদি কোনও ডেবিয়ান সিস্টেমে থাকেন এবং পাইপ / ইজিল_ইনস্টল না করে প্যাকেজ ম্যানেজারটি ব্যবহার করতে চান।
ব্লেয়ার


3

আপনি যদি ফেডোরা 20, জ্যাঙ্গো 1.6.5, পোস্টগ্রিস্কেল 9.3 ব্যবহার করছেন এবং আপনার যদি সাইকোপজি 2 মডিউল প্রয়োজন হয় তবে এটি করুন:

yum install postgresql-devel
easy_install psycopg2

আপনি যদি আমার মতো হন তবে আপনার ভাল ডকুমেন্টেড লিবিপিকিউ-দেব আরপিএম খুঁজে পেতে সমস্যা হতে পারে ... উপরেরটি এখনই আমার পক্ষে কাজ করেছে।


3

আমি ম্যাক একই সমস্যা ছিল

সমাধানটি ছিল কেবল পিআইপি ব্যবহার করা সমস্ত কিছু ইনস্টল এবং কিছু জিনিস স্পর্শ করা।

প্রথমে পিআইপি ইনস্টল করুন: https://pip.pypa.io/en/latest/

তারপরে আপনি নিশ্চিত করতে চান যে pg_config- এর পথটি আপনার PATH (প্রতিধ্বনি $ PATH) এ আছে, যদি না আপনি আপনার বাশ_প্রফাইলে সম্পাদনা করতে পারেন:

vi /Users/<user>/.bash_profile

এবং এই লাইন যুক্ত করুন:

export PATH=$PATH:/path/to/pg_config/bin

আপনি যদি জানেন না যে pg_config আপনি কোথায় আছেন "সনাক্ত" সরঞ্জামটি ব্যবহার করতে পারেন তবে নিশ্চিত হন যে আপনার পয়েন্ট। ডিবি আপ টু ডেট রয়েছে (আমি একটি পুরানো সন্ধান করতে চাই। ডিবি এবং অস্তিত্ব নেই এমন পাথগুলি ব্যবহার করছি)।

sudo /usr/libexec/locate.updatedb
locate pg_config

তারপরে জ্যাঙ্গো (প্রয়োজনে) এবং সাইকোপজি 2 ইনস্টল করুন।

sudo pip install Django
sudo pip install psycopg2

এবং তারপরে সেটিংস.পিতে (লোকালহোস্ট: ডিফল্টপোর্ট)

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'dbname',
        'USER': 'postgres',
        'PASSWORD': 'postgres',
        'HOST': '',
        'PORT': '',
    }
}

Greets!


2
$ sudo apt-get install libpq-dev

বছর, এই আমার সমস্যার সমাধান। এটি কার্যকর করার পরে, করুন: পিপ ইনস্টল করুন সাইকোপজি 2


0

দয়া করে নোট করুন যে psycopg2পাইপ বা সেটআপ.পি এর মাধ্যমে ইনস্টল করার জন্য ভিজ্যুয়াল স্টুডিও ২০০৮ থাকা দরকার (আরও সুনির্দিষ্টভাবে এক্সিকিউটেবল ফাইল ভিসিভিআরসাল.ব্যাট )। আপনি এটি ইনস্টল বা উইন্ডোজ এর জন্য উপযুক্ত পাথ পরিবর্তনশীল সেট করতে অ্যাডমিন অধিকার আছে না থাকে, তাহলে আপনার কাছ থেকে ইতিমধ্যে কম্পাইল গ্রন্থাগার বিনামূল্যে ডাউনলোড করতে পারেন এখানে


এই সম্পর্কে কি? মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ পাইথনের জন্য
সংকলক ২.

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