среда, 23 декабря 2015 г.

Create PostgreSQL database for Django

First of all configure PostgreSQL server.

Then create role for your database
sudo -u postgres createuser --createdb --no-createrole --no-superuser <database_username>
You will need Create database attribute for running Django unit tests.

Then create database
sudo -u postgres createdb --owner <database_username> <database_name>
If you are not superuser and have createdb privilege
 psql -c "GRANT <database_username> TO <your_database_username>" <database_name>
createdb --owner <database_username> <database_name>

Connect to the new database
psql --username <database_username> --host localhost <database_name>
Configure role parameters in psql shell
 ALTER ROLE <database_username> IN DATABASE <database_name> SET client_encoding = 'UTF8'
ALTER ROLE <database_username> IN DATABASE <database_name> SET default_transaction_isolation = 'read committed'
ALTER ROLE <database_username> IN DATABASE <database_name> SET timezone = 'UTC'

Change user password if needed
ALTER ROLE <database_username> WITH PASSWORD '<password>'

Configure PostgreSQL server

First install PostgreSQL server
apt-get install postgresql
To compile psycopg2 you will also need
apt-get install postgresql-server-dev-9.1
Configure database access for local user
sudo -u postgres createuser --createdb --createrole --no-superuser <same_as_local_username>
Connect to postgres database
psql postgres

Services on Ubuntu system

List status of all services in the system
service --status-all