catmaid在执行django的migrate时连接数据库失败

1. 环境

    postgreSQL-10

    python2.7

    ubuntu16.04 amd64

2. 问题

    在完成django的环境配置后, 执行manage.py migrate出现连接错误. 网上没有同样的问题出现, 目前自己没找到.

(catmaid) user@ubuntu:~/catmaid/django/projects/mysite$ ../manage.py migrate catmaid
Traceback (most recent call last):
  File "../manage.py", line 11, in <module>
    execute_from_command_line(sys.argv)
  File "/home/bibao/.virtualenvs/catmaid/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "/home/bibao/.virtualenvs/catmaid/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute
    django.setup()
  File "/home/bibao/.virtualenvs/catmaid/local/lib/python2.7/site-packages/django/__init__.py", line 27, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/bibao/.virtualenvs/catmaid/local/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models()
  File "/home/bibao/.virtualenvs/catmaid/local/lib/python2.7/site-packages/django/apps/config.py", line 202, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/home/bibao/catmaid/django/applications/catmaid/models.py", line 28, in <module>
    from .fields import Double3DField, Integer3DField, RGBAField, DownsampleFactorsField
  File "/home/bibao/catmaid/django/applications/catmaid/fields.py", line 130, in <module>
    class Integer3DField(CompositeField):
  File "/home/bibao/catmaid/django/applications/catmaid/fields.py", line 38, in __init__
    cls.register_composite(connection)
  File "/home/bibao/catmaid/django/applications/catmaid/fields.py", line 47, in register_composite
    connection.cursor().cursor,
  File "/home/bibao/.virtualenvs/catmaid/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 254, in cursor
    return self._cursor()
  File "/home/bibao/.virtualenvs/catmaid/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 229, in _cursor
    self.ensure_connection()
  File "/home/bibao/.virtualenvs/catmaid/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 213, in ensure_connection
    self.connect()
  File "/home/bibao/.virtualenvs/catmaid/local/lib/python2.7/site-packages/django/db/utils.py", line 94, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/home/bibao/.virtualenvs/catmaid/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 213, in ensure_connection
    self.connect()
  File "/home/bibao/.virtualenvs/catmaid/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 189, in connect
    self.connection = self.get_new_connection(conn_params)
  File "/home/bibao/.virtualenvs/catmaid/local/lib/python2.7/site-packages/django/db/backends/postgresql/base.py", line 176, in get_new_connection
    connection = Database.connect(**conn_params)
  File "/home/bibao/.virtualenvs/catmaid/local/lib/python2.7/site-packages/psycopg2/__init__.py", line 130, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: could not connect to server: No such file or directory
	Is the server running locally and accepting
	connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?


既然是连接错误那么就得看到底怎么错. 首先确认数据库运行正常.                   

(catmaid) bibao@ubuntu:~/catmaid/django/projects/mysite$ ps axf | grep post
  8119 pts/19   S+     0:00              \_ grep --color=auto post
  7953 ?        S      0:00 /usr/lib/postgresql/10/bin/postgres -D /var/lib/postgresql/10/main -c config_file=/etc/postgresql/10/main/postgresql.conf
  7955 ?        Ss     0:00  \_ postgres: 10/main: checkpointer process   
  7956 ?        Ss     0:00  \_ postgres: 10/main: writer process   
  7957 ?        Ss     0:00  \_ postgres: 10/main: wal writer process   
  7958 ?        Ss     0:00  \_ postgres: 10/main: autovacuum launcher process   
  7959 ?        Ss     0:00  \_ postgres: 10/main: stats collector process   
  7960 ?        Ss     0:00  \_ postgres: 10/main: bgworker: logical replication launcher    

绿色显示数据库正常运行. 然后查看Listen端口情况.

(catmaid) bibao@ubuntu:~/catmaid/django/projects/mysite$ netstat -anp |grep post
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
unix  2      [ ACC ]     STREAM     LISTENING     56644    -                   /var/run/postgresql/.s.PGSQL.5433

这明显是端口监听错误了. 应该改为5432的.

修改ps进程中的配置文件将端口从5433改为5432

重启数据库

(catmaid) bibao@ubuntu:~/catmaid/django/projects/mysite$ sudo vim /etc/postgresql/10/main/postgresql.conf 
(catmaid) bibao@ubuntu:~/catmaid/django/projects/mysite$ sudo service postgresql restart
(catmaid) bibao@ubuntu:~/catmaid/django/projects/mysite$ netstat -anp |grep post
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
unix  2      [ ACC ]     STREAM     LISTENING     57089    -                   /var/run/postgresql/.s.PGSQL.5432
(catmaid) bibao@ubuntu:~/catmaid/django/projects/mysite$ ps axf | grep post

这个时候就正常了. 重新迁移.


(catmaid) bibao@ubuntu:~/catmaid/django/projects$ ./manage.py migrate
INFO 2018-06-29 10:00:32,086 CATMAID was unable to load the h5py library, which is an optional dependency. HDF5 tiles are therefore disabled. To enable, install h5py.
WARNING 2018-06-29 10:00:32,306 NeuroML module could not be loaded.
System check identified some issues:

WARNINGS:
?: Couldn't check history setup, missing database functions
	HINT: Migrate CATMAID
Operations to perform:
  Apply all migrations: admin, auth, authtoken, catmaid, contenttypes, guardian, performancetests, pgcompat, sessions, sites, taggit
Running migrations:
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying catmaid.0006_add_history_table_support... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying catmaid.0007_use_django_1_9_jsonfield... OK
  Applying catmaid.0008_update_transaction_log... OK
  Applying catmaid.0009_ensure_required_project_classes... OK
  Applying catmaid.0010_history_tracking_update... OK
  Applying catmaid.0011_fix_transaction_label_typo... OK
  Applying performancetests.0003_update_history_tables... OK
  Applying catmaid.0012_add_history_views... OK
  Applying catmaid.0013_add_missing_tnci_and_cnci_indices... OK
  Applying catmaid.0014_ensure_restriction_tables_have_auto_id... OK
  Applying catmaid.0015_fix_history_views... OK
  Applying catmaid.0016_import_meshes_as_volumes... OK
  Applying catmaid.0017_update_edge_indices... OK
  Applying catmaid.0018_add_stack_mirrors_and_groups... OK
  Applying catmaid.0019_add_import_permission... OK
  Applying catmaid.0020_delete_history_view_before_auth_user_update... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying authtoken.0002_auto_20160226_1747... OK
  Applying catmaid.0021_recreate_history_view_after_auth_user_update... OK
  Applying catmaid.0022_add_reconstruction_sampler_tables... OK
  Applying catmaid.0023_update_edit_txids... OK
  Applying catmaid.0024_add_neuron_history_indices... OK
  Applying catmaid.0025_add_stats_summary_table... OK
  Applying catmaid.0026_add_additional_stats_indices... OK
  Applying catmaid.0027_update_data_view_name... OK
  Applying catmaid.0028_add_point_tables... OK
  Applying catmaid.0029_fix_stack_class_instance_constraints... OK
  Applying catmaid.0030_add_sampler_column... OK
  Applying catmaid.0031_add_interpolatable_sections_table... OK
  Applying catmaid.0032_add_simple_section_cache_table... OK
  Applying catmaid.0033_fix_node_query_cache_fkey... OK
  Applying catmaid.0034_add_node_query_cache_timestamp_and_unique_constraint... OK
  Applying catmaid.0035_add_skeleton_summary_table... OK
  Applying catmaid.0036_update_sampler_interval_constraints... OK
  Applying catmaid.0037_add_stack_zoom_factors... OK
  Applying catmaid.0038_add_missing_initial_skeleton_summaries... OK
  Applying sessions.0001_initial... OK
  Applying sites.0002_alter_domain_unique... OK
INFO 2018-06-29 10:00:48,965 Creating ontology dummy project
(catmaid) bibao@ubuntu:~/catmaid/django/projects$ 

问题解决.

最后找一下原因, 应该有两个方面比较可能:

    1. 我之前安装postgresql-10失败,现状了9.5 这个可能会让9.5先占用了5432

    2. 猜测10版本默认可能就直接有问题


最后, 其实不修改postgreSQL配置文件的话, 直接修改前面django的configuration.py应该也是没问题的, 那里可以指定端口, 知识我配置的时候采用了默认的值.

感谢:

https://blog.csdn.net/haohaibo031113/article/details/52832882

http://www.cnblogs.com/space-place/p/5257127.html









猜你喜欢

转载自blog.csdn.net/u011627161/article/details/80858213
今日推荐