Это старая версия документа!


PostgreSql - Установка и настройка

  • $ sudo apt-get install postgresql postgresql-contrib
  • $ passwd postgres
  • $ sudo su - postgres
  • $ psql postgres

nano /usr/local/Cellar/postgresql-9.4/9.4.5/homebrew.mxcl.postgresql.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>KeepAlive</key>
  <true/>
  <key>Label</key>
  <string>homebrew.mxcl.postgresql.plist</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/Cellar/postgresql-9.4/9.4.5/bin/postgres</string>
    <string>-D</string>
    <string>/usr/local/var/postgres</string>
    <string>-r</string>
    <string>/usr/local/var/postgres/server.log</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>WorkingDirectory</key>
  <string>/usr/local/var</string>
  <key>StandardErrorPath</key>
  <string>/usr/local/var/postgres/server.log</string>
</dict>
</plist>

nano /etc/postgresql/X.Y/main/pg_hba.conf

local   all         all                               trust     # replace ident or peer with trust
host   all         all          192.168.1.1/28        md5
# psql -U B -T -h localhost -U postgres
# pg_dump -U B -T -h host1 dbname > outfile.sql
# pg_dump -U B -T dbname | gzip > filename.gz
# pg_dumpall > outfile.sql
# pg_dump --host 127.0.0.1 --port 5432 --username "postgres" --no-password  --format plain --no-owner --no-privileges --no-tablespaces --verbose --no-unlogged-table-data --file "/dump3" "test"
# psql park < ./park.sql
# psql -h localhost -f dump2 -U postgres test2
# psql –h localhost –p 5432 --dbname=park --username=mirocow < park2.20151018_142522/park2.sql
  • apt-get install phppgadmin
git clone git://github.com/phppgadmin/phppgadmin.git
  • Как создать пользователя в PostgreSQL?
  • CREATE USER ramesh WITH password ‘tmppassword’;
  • Как посмотреть список пользователей?
  • SELECT * FROM pg_shadow;
  • Как сменить пароль у пользователя?
  • ALTER USER postgres WITH PASSWORD 'password';

Смена пароля

Включаем однопользовательский режим nano /usr/local/opt/postgresql/pg_hba.conf

local   all             all                                     trust
  • подключаемся к бд, указывая локального пользователя (в моем случае mirocow)
  • меняем пароль у пользователя mirocow

включаем многопользовательский режим добавляем строчку в nano /usr/local/opt/postgresql/pg_hba.conf

local   all         postgres                          password

Смена прав

  • ALTER TABLE sequence_name OWNER TO владелец
  • Как посмотреть привелегии пользователя?
  • SELECT n.nspname as "Схема", 
    c.relname as "Таблица", 
    c.relacl as "Привилегии доступа" 
    FROM pg_catalog.pg_class c 
    LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace 
    WHERE c.relkind IN ('r', 'v', 'S') 
    AND pg_catalog.pg_table_is_visible(c.oid) /*AND n.nspname !~ '^pg_'*/ 
    ORDER BY 1, 2;
  • Как дать привелегии
  • GRANT ALL ON DATABASE demodb TO demo;
  • Как создать базу в PostgreSQL?
  • CREATE DATABASE mydb WITH OWNER ramesh;
  • Как удалить базу в PostgreSQL?
  • DROP DATABASE mydb;
  • Как получить весь список баз в Postgresql?
  • SELECT datname FROM pg_database;
  • SELECT * FROM pg_database;
  • Как вывести список всех таблиц?
  • SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';