編輯:安裝問題的PostGIS(PostgreSQL的)(Django的)鍵(Mac OS X 10.7)
好吧,我卸載我有,並根據下列方向重新安裝的版本:
我跑:
POSTGIS_SQL_PATH=/usr/local/Cellar/postgis15/1.5.3/share/postgis
# Creating the template spatial database.
createdb -E UTF8 template_postgis
createlang -d template_postgis plpgsql # Adding PLPGSQL language support.
# Allows non-superusers the ability to create from this template
psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis';"
# Loading the PostGIS SQL routines
psql -d template_postgis -f $POSTGIS_SQL_PATH/postgis.sql
psql -d template_postgis -f $POSTGIS_SQL_PATH/spatial_ref_sys.sql
# Enabling users to alter spatial tables.
psql -d template_postgis -c "GRANT ALL ON geometry_columns TO PUBLIC;"
psql -d template_postgis -c "GRANT ALL ON geography_columns TO PUBLIC;"
psql -d template_postgis -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;"
然後跑:
$ createdb -T template_postgis newdb
$ createuser --createdb poop
Shall the new role be a superuser? (y/n) y
現在,這裏是我得到我的數據庫列表:
$ psql -l
List of databases
Name | Owner | Encoding | Collation | Ctype | Access privileges
------------------+-------+----------+-------------+-------------+-------------------
newdb | User | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
postgres | User | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | User | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/User +
| | | | | User=CTc/User
template1 | User | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/User +
| | | | | User=CTc/User
template_postgis | User | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
(5 rows)
確保我的版本是正確的:
$ psql newdb
psql (9.0.8)
Type "help" for help.
newdb=# SELECT PostGIS_full_version();
postgis_full_version
--------------------------------------------------------------------------------------------------
POSTGIS="1.5.3" GEOS="3.3.5-CAPI-1.7.5" PROJ="Rel. 4.8.0, 6 March 2012" LIBXML="2.7.3" USE_STATS
(1 row)
newdb=# \dt
List of relations
Schema | Name | Type | Owner
--------+------------------+-------+-------
public | geometry_columns | table | User
public | spatial_ref_sys | table | User
(2 rows)
它看起來像所有相關性的照顧和數據庫看上去很幸福,一切看起來乾淨! (但是,如果是我磨碎的所有用戶訪問上面的geograph_colums?)
現在,settings.py:
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'newdb',
'USER': 'poop', # yes, I named my user poop
}
}
現在,當我運行:
$ python manage.py syncdb
我打通一個鏈接的各種文件結尾爲:
psycopg2.OperationalError: could not connect to server: Permission denied
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
顯然我的數據庫正在運行,因爲我可以psql進入它。但是權限設置不正確?
的pg_hba.conf:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
答: Postgresql socket error on OSX 10.7.3 when running Django's syncdb
謝謝你,這真的很有幫助。不過,現在我有一個新的錯誤,所有新的相關信息的完整編輯如上。我想我正在接近(當然有你的幫助!)我想避免修補程序/排除故障新版本XD看到我已經拉着頭髮做最簡單的事情。 – thattookawhile