Người dùng được kết nối Postgresql. Kết nối với phụ. Kiểm tra trạng thái máy chủ

  • Hướng dẫn

Tôi muốn tạo ra một cuốn sổ tay hướng dẫn Bắt đầu toàn diện, tuyệt vời mà không có bất kỳ điều gì rườm rà, nhưng bao gồm cả những tính năng cơ bản dành cho người mới bắt đầu sử dụng hệ thống PostgreSQL trong Linux.

PostgreSQL là một hệ thống quản lý cơ sở dữ liệu quan hệ đối tượng (ORDBMS) dựa trên POSTGRES, phiên bản 4.2, được phát triển tại Khoa Khoa học Máy tính, Đại học California, Berkeley.

PostgreSQL là mã nguồn mở hậu duệ mã gốc Berkeley. Nó hỗ trợ hầu hết chuẩn SQL và cung cấp nhiều tính năng hiện đại:

  • Truy vấn phức tạp
  • Quản lý đồng thời với nhiều phiên bản
Ngoài ra, người dùng có thể mở rộng PostgreSQL theo nhiều cách, ví dụ bằng cách thêm mới
  • Loại dữ liệu
  • chức năng
  • toán tử
  • Chức năng tổng hợp
  • chỉ số phương pháp
  • ngôn ngữ thủ tục

Lắp ráp và cài đặt

Giống như tất cả những người hâm mộ PostgreSQL chính thống, tất nhiên, chúng tôi sẽ thu thập và không tải xuống các gói làm sẵn (ví dụ: trong kho Debian, không có phiên bản mới nhất). Có nhiều phiên bản, tất nhiên tốt nhất nên tải phiên bản mới nhất. Tại thời điểm viết bài này, đây là phiên bản 9.2.2

Quên http://ftp.postgresql.org/pub/source/v9.2.2/postgresql-9.2.2.tar.gz tar xzf postgresql-9.2.2.tar.gz
Bây giờ chúng tôi có một thư mục chứa các nguồn của cơ sở dữ liệu tuyệt vời này.
Theo mặc định, các tệp cơ sở dữ liệu sẽ được cài đặt trong thư mục /usr/local/pgsql, nhưng thư mục này có thể được thay đổi bằng cách cài đặt

Tiền tố=/path/to/pssql
trước lệnh ./configure
Trước khi xây dựng, bạn có thể chỉ định trình biên dịch C++

Xuất CC=gcc
PostgeSQL có thể sử dụng thư viện readline, nếu bạn chưa có và không muốn cài đặt thì chỉ cần ghi rõ tùy chọn

Không có dòng đọc
Tôi hy vọng mọi người đều có Autotools? Sau đó chuyển tiếp đến hội đồng:

Cd postgresql-9.2.2 ./configure --without-readline Sudo thực hiện cài đặt sạch
Tất cả các quý ông! Chúc mừng!

Cài đặt

Chúng ta cần chỉ định nơi lưu trữ dữ liệu của cơ sở dữ liệu (cụm) và khởi chạy nó.

Có một lưu ý - chủ sở hữu thư mục dữ liệu và người dùng có thể khởi chạy cơ sở dữ liệu không được root. Điều này được thực hiện vì mục đích bảo mật hệ thống. Vì vậy, hãy tạo một người dùng đặc biệt
sudo useradd postgres -p postgres -U -m
Và rồi mọi thứ đều rõ ràng

Sudo chown -R postgres:postgres /usr/local/pgsql
Một quá trình quan trọng Chúng ta phải khởi tạo cụm cơ sở dữ liệu. Chúng tôi phải làm điều này thay mặt cho người dùng postgres

Initdb -D/usr/local/pgsql/data
Bây giờ bạn cần thêm tính năng khởi chạy PostgreSQL vào chế độ tự khởi động. Có một tập lệnh được tạo sẵn cho việc này và nó nằm trong postgresql-9.2.2/contrib/start-scripts/linux
Bạn có thể mở tệp này và chú ý đến các biến sau:

  • tiếp đầu ngữ- đây là nơi chúng tôi đã cài đặt PostgreSQL và chỉ định nó trong ./configure
  • PGDATA- đây là nơi lưu trữ cụm cơ sở dữ liệu và nơi người dùng postgres của chúng tôi có quyền truy cập
  • PGUSER- đây là cùng một người dùng mà mọi thứ sẽ hoạt động thay mặt họ
Nếu mọi thứ đều chính xác, hãy thêm tập lệnh của chúng tôi vào init.d

Sudo cp ./postgresql-9.2.2/contrib/start-scripts/linux /etc/init.d/postgres Sudo update-rc.d postgres mặc định
Chúng tôi khởi động lại hệ thống để kiểm tra xem tập lệnh của chúng tôi có hoạt động không.
Đi vào

/usr/local/pgsql/bin/psql -U postgres
Và nếu cửa sổ làm việc với cơ sở dữ liệu xuất hiện thì quá trình thiết lập đã thành công! Chúc mừng!
Theo mặc định, cơ sở dữ liệu có tên postgres được tạo

# LOẠI PHƯƠNG THỨC ĐỊA CHỈ NGƯỜI DÙNG Local all all Trust Host all all 127.0.0.1/32 Trust Host all all::1/128 Trust
Dòng đầu tiên chịu trách nhiệm kết nối cục bộ, thứ hai dành cho kết nối sử dụng giao thức IPv4 và thứ ba dành cho giao thức IPv6.
Tham số cuối cùng chỉ là phương thức ủy quyền. Hãy nhìn vào nó (chỉ những cái chính)

  • lòng tin- quyền truy cập vào cơ sở dữ liệu có thể được lấy bởi bất kỳ ai dưới bất kỳ tên nào có kết nối với nó.
  • từ chối- từ chối vô điều kiện! Điều này phù hợp để lọc các địa chỉ IP cụ thể
  • mật khẩu- yêu cầu một mật khẩu bắt buộc. Không thích hợp cho người dùng địa phương, chỉ những người dùng được tạo bằng lệnh CREATE USER
  • nhận dạng- chỉ cho phép người dùng đã đăng ký trong tệp /usr/local/pgsql/data/pg_ident.conf thiết lập kết nối tới cơ sở dữ liệu.
Tôi sẽ cho bạn biết ngắn gọn về những tiện ích chính sẽ hữu ích trong công việc của bạn.

Tiện ích làm việc với cơ sở dữ liệu

pg_config
Trả về thông tin về hiện tại phiên bản đã cài đặt PostgreSQL.
initdb
Khởi tạo một kho dữ liệu mới (cụm cơ sở dữ liệu). Cụm là tập hợp các cơ sở dữ liệu được quản lý bởi một phiên bản máy chủ. initdb phải được điều hành với tư cách là chủ sở hữu tương lai của máy chủ (như đã nêu ở trên dưới dạng postgres).
pg_ctl
Kiểm soát quá trình máy chủ PostgreSQL. Cho phép bạn khởi động, khởi động lại, dừng máy chủ, chỉ định tệp nhật ký, v.v.
psql
Khách hàng để làm việc với cơ sở dữ liệu. Cho phép bạn thực hiện các hoạt động SQL.
đã tạob
Tạo một cơ sở dữ liệu mới. Theo mặc định, cơ sở dữ liệu được tạo thay mặt cho người dùng chạy lệnh. Tuy nhiên, để chỉ định một cái khác, bạn phải sử dụng tùy chọn -O (nếu người dùng có các đặc quyền cần thiết để làm như vậy). Về bản chất, nó là một trình bao bọc SQL cho lệnh CREATE DATABASE.
dropdb
Xóa cơ sở dữ liệu. Là trình bao bọc SQL cho lệnh DROP DATABASE.
tạo người dùng
Thêm người dùng cơ sở dữ liệu mới. Là trình bao bọc SQL cho lệnh CREATE ROLE.
người bỏ rơi
Xóa người dùng cơ sở dữ liệu. Là trình bao bọc SQL cho lệnh DROP ROLE.
tạo lang
Thêm Ngôn ngữ mới lập trình trong Cơ sở dữ liệu PostgreSQL. Là trình bao bọc SQL cho lệnh TẠO NGÔN NGỮ.
droplang
Loại bỏ một ngôn ngữ lập trình. Là trình bao bọc SQL cho lệnh DROP LANGUAGE.
pg_dump
Tạo bản sao lưu (kết xuất) cơ sở dữ liệu vào một tệp.
pg_restore
Khôi phục bản sao lưu cơ sở dữ liệu (kết xuất) từ một tệp.
pg_dumpall
Tạo bản sao lưu (kết xuất) của toàn bộ cụm vào một tệp.
reindexdb
Lập chỉ mục lại cơ sở dữ liệu. Là trình bao bọc SQL cho lệnh REINDEX.
cụmdb
Các bảng Reclusters trong cơ sở dữ liệu. Là trình bao bọc SQL cho lệnh CLUSTER.
máy hút bụi
Trình thu gom rác và tối ưu hóa cơ sở dữ liệu. Là trình bao bọc SQL cho lệnh VACUUM.

Người quản lý cơ sở dữ liệu

Đối với người quản lý cơ sở dữ liệu, đó là quản lý php- Cái này Quản trị hệ thống

Bài này - hướng dẫn ngắn gọn dành cho người mới bắt đầu, dành cho những người cài đặt PostgreSQL lần đầu tiên. Mọi thứ đều ở đây thông tin cần thiếtđể bắt đầu với PostgreSQL.

Kết nối với DBMS

Điều đầu tiên bạn cần làm là có quyền truy cập vào PostgreSQL, truy cập với tư cách siêu người dùng.
Cài đặt xác thực được đặt trong tệp pg_hba.conf.
  1. tất cả các đồng nghiệp postgres tại địa phương
Dòng này cho biết người dùng postgres có thể kết nối với bất kỳ cơ sở dữ liệu PostgreSQL cục bộ nào thông qua một ổ cắm. Không cần nhập mật khẩu; hệ điều hành sẽ truyền tên người dùng và nó sẽ được sử dụng để xác thực.
Hãy kết nối:
  1. $ sudo -u postgres psql postgres postgres
Để có thể kết nối qua mạng, bạn cần thêm dòng vào pg_hdba.conf:
  1. # LOẠI PHƯƠNG PHÁP ĐỊA CHỈ NGƯỜI DÙNG CƠ SỞ DỮ LIỆU
  2. tất cả các máy chủ 0.0.0.0/0 md5
Phương pháp xác thực md5 có nghĩa là bạn sẽ phải nhập mật khẩu để kết nối. Điều này không thuận tiện lắm nếu bạn thường xuyên sử dụng bảng điều khiển psql. Nếu bạn muốn tự động hóa một số hành động, tin xấu là psql không chấp nhận mật khẩu làm đối số. Có hai cách để giải quyết những vấn đề này: đặt biến môi trường thích hợp và lưu trữ mật khẩu trong tệp .pgpass đặc biệt.

Đặt biến môi trường PGPASSWORD

Tôi sẽ nói ngay rằng tốt hơn hết là không nên sử dụng phương pháp này, bởi vì một số hệ điều hành cho phép người dùng thông thường xem các biến môi trường bằng ps. Nhưng nếu muốn, bạn cần phải viết vào terminal:
  1. xuất PGPASSWORD=mypasswd
Biến sẽ có sẵn trong phiên hiện tại. Nếu bạn cần đặt một biến cho tất cả các phiên, thì bạn cần thêm dòng từ ví dụ vào tệp .bashrc hoặc .bash_profile

Lưu trữ mật khẩu trong tệp .pgpass

Nếu chúng ta đang nói về Linux, thì tệp phải được đặt ở $HOME (/home/username). Chỉ chủ sở hữu (0600) mới có quyền ghi và đọc. Bạn cần viết những dòng như thế này vào tập tin:
  1. tên máy chủ: cổng: cơ sở dữ liệu: tên người dùng: mật khẩu
Bạn có thể viết “*” vào bốn trường đầu tiên, điều này có nghĩa là không lọc (lựa chọn đầy đủ).

Nhận thông tin trợ giúp

\? - sẽ hiển thị tất cả các lệnh có sẵn cùng với mô tả ngắn gọn của chúng,
\h - sẽ hiển thị danh sách tất cả các truy vấn có sẵn,
\h TẠO - sẽ cung cấp trợ giúp cho một yêu cầu cụ thể.

Quản lý người dùng DBMS

Làm cách nào để có được danh sách người dùng PostgreSQL? Hoặc bạn có thể truy vấn bảng pg_user.
  1. CHỌN * TỪ pg_user ;

Tạo người dùng PostgreSQL mới

Từ vỏ bọc psql điều này có thể được thực hiện bằng lệnh CREATE.
  1. TẠO tên người dùng VỚI mật khẩu "mật khẩu";
Hoặc bạn có thể sử dụng thiết bị đầu cuối.
  1. người tạo -S -D -R -P tên người dùng
Bạn sẽ được nhắc nhập mật khẩu.

Thay đổi mật khẩu người dùng

  1. THAY ĐỔI tên người dùng NGƯỜI DÙNG VỚI "mật khẩu" MẬT KHẨU;

Thay đổi vai trò người dùng

Để cấp cho người dùng quyền tạo cơ sở dữ liệu, hãy chạy truy vấn sau:
  1. THAY ĐỔI tên người dùng VAI TRÒ VỚI CREATEDB ;

Quản lý cơ sở dữ liệu

Hiển thị danh sách cơ sở dữ liệu trong thiết bị đầu cuối psql: Tương tự từ thiết bị đầu cuối Linux:
  1. psql -l
Tạo cơ sở dữ liệu từ psql (PostgreSQL Terminal)
  1. TẠO CƠ SỞ DỮ LIỆU dbname CHỦ SỞ HỮU dbadmin;
Sự sáng tạo căn cứ mới dữ liệu sử dụng thiết bị đầu cuối:
  1. createb -O tên người dùng dbname;

Thiết lập quyền truy cập vào cơ sở dữ liệu

Nếu người dùng là chủ sở hữu cơ sở dữ liệu thì anh ta có mọi quyền. Nhưng nếu bạn muốn cấp quyền truy cập cho người dùng khác, bạn có thể thực hiện việc này bằng lệnh GRANT. Truy vấn bên dưới sẽ cho phép người dùng kết nối với cơ sở dữ liệu. Nhưng đừng quên về tập tin cấu hình pg_hba.conf, nó cũng phải có quyền kết nối phù hợp.
  1. CẤP KẾT NỐI TRÊN CƠ SỞ DỮ LIỆU dbname VỚI dbadmin;

Trong bài viết này tôi sẽ trình bày 15 trong số nhiều nhất lệnh hữu ích Cho việc lái xe postgreSQL.

1. Làm cách nào để thay đổi mật khẩu root trong PostgreSQL?

$ /usr/local/pgsql/bin/psql postgres postgres Mật khẩu: (mật khẩu cũ) # THAY ĐỔI bài đăng của NGƯỜI DÙNG BẰNG MẬT KHẨU 'tmppassword'; $ /usr/local/pgsql/bin/psql postgres postgres Mật khẩu: (tmppassword)

Thay đổi mật khẩu cho Người sử dụng thường xuyên xảy ra theo cách tương tự. người dùng root có thể thay đổi mật khẩu cho bất kỳ người dùng nào.

# THAY ĐỔI tên người dùng NGƯỜI DÙNG VỚI MẬT KHẨU 'tmppassword';

2. Làm cách nào để cài đặt PostgreSQL vào chế độ tự khởi động?

$ su - root # tar xvfz postgresql-8.3.7.tar.gz # cd postgresql-8.3.7 # cp contrib/start-scripts/linux /etc/rc.d/init.d/postgresql # chmod a+x / etc/rc.d/init.d/postgresql

3. Kiểm tra trạng thái máy chủ

$ trạng thái /etc/init.d/postgresql Mật khẩu: pg_ctl: máy chủ đang chạy (PID: 6171) /usr/local/pgsql/bin/postgres “-D” “/usr/local/pgsql/data” [ Bình luận: Thông báo này cho biết máy chủ đang chạy và hoạt động bình thường] $ trạng thái /etc/init.d/postgresql Mật khẩu: pg_ctl: không có máy chủ nào đang chạy [ Bình luận: Thông báo này cho biết máy chủ không chạy]

4. Làm thế nào để bắt đầu, dừng, khởi động lại PostgreSQL?

# dịch vụ dừng postgresqlĐang dừng PostgreSQL: máy chủ đã dừng ổn # dịch vụ postgresql bắt đầuĐang khởi động PostgreSQL: được rồi # khởi động lại dịch vụ postgresql Khởi động lại PostgreSQL: máy chủ đã dừng ổn

5. Làm cách nào để biết phiên bản PostgreSQL nào đang chạy?

$ /usr/local/pgsql/bin/psql kiểm tra Chào mừng bạn đến với psql 8.3.7, thiết bị đầu cuối tương tác PostgreSQL. Nhập: \copyright cho các thuật ngữ phân phối \h để được trợ giúp về các lệnh SQL \? để được trợ giúp với các lệnh psql \g hoặc chấm dứt bằng dấu chấm phẩy để thực hiện truy vấn \q để thoát test=# chọn phiên bản(); phiên bản ———————————————————————————————————— PostgreSQL 8.3.7 trên i686-pc-linux-gnu, được biên soạn bởi GCC gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42) (1 hàng) test=#

5. Làm cách nào để tạo người dùng trong PostgreSQL?

Có hai phương pháp cho việc này..

Cách 1: Chúng tôi tạo người dùng bằng shell PSQL bằng lệnh CREATE USER.

# TẠO NGƯỜI DÙNG ramesh BẰNG mật khẩu 'tmppassword'; TẠO VAI TRÒ

Phương pháp2: Chúng ta tạo người dùng bằng lệnh shell createuser.

$ /usr/local/pgsql/bin/createuser sathiya Nên cái mới vai trò là một siêu người dùng? (y/n) n Vai trò mới có được phép tạo cơ sở dữ liệu không? (y/n) n Vai trò mới có được phép tạo thêm vai trò mới không? (y/n) n TẠO VAI TRÒ

6. Làm cách nào để tạo cơ sở dữ liệu trong PostgreSQL?

Có 2 phương pháp cho việc này.

Phương pháp1: Chúng tôi tạo cơ sở dữ liệu thông qua trình bao PSQL bằng lệnh CREATE DATABASE.

# TẠO CƠ SỞ DỮ LIỆU mydb VỚI CHỦ SỞ HỮU ramesh; TẠO NÊN CƠ SỞ DỮ LIỆU

Phương pháp2: Chúng tôi sử dụng lệnh createb.

$ /usr/local/pgsql/bin/createdb mydb -O ramesh TẠO NÊN CƠ SỞ DỮ LIỆU

7. Chúng ta có nhận được danh sách tất cả các cơ sở dữ liệu trong Postgresql không?

# \l Danh sách cơ sở dữ liệu Tên | Chủ sở hữu | Mã hóa ———-+———-+———- sao lưu | postgres | mydb UTF8 | ramesh | bài đăng UTF8 | postgres | Mẫu UTF80 | postgres | Mẫu UTF81 | postgres | UTF8

8. Làm cách nào để xóa cơ sở dữ liệu trong PostgreSQL?

# \l Danh sách cơ sở dữ liệu Tên | Chủ sở hữu | Mã hóa ———-+———-+———- sao lưu | postgres | mydb UTF8 | ramesh | bài đăng UTF8 | postgres | Mẫu UTF80 | postgres | Mẫu UTF81 | postgres | UTF8# BỎ CƠ SỞ CƠ SỞ mydb; THẢ CƠ SỞ DỮ LIỆU

9. Sử dụng trợ giúp tích hợp cho các lệnh

Đội \? sẽ hiển thị một dòng trợ giúp cho lệnh PSQL. \h CREATE sẽ hiển thị trợ giúp cho tất cả các lệnh bắt đầu bằng CREATE.

# \? # \h TẠO # \h TẠO CHỈ SỐ

10. Làm cách nào để lấy danh sách tất cả các bảng trong cơ sở dữ liệu nhất định trong Postgresql?

# \d

Đối với cơ sở dữ liệu trống, bạn sẽ nhận được thông báo “Không tìm thấy mối quan hệ nào”.

11. Làm cách nào để biết thời gian thực hiện yêu cầu?

# \timing - sau khi thực hiện lệnh này, mỗi yêu cầu tiếp theo sẽ hiển thị thời gian thực hiện.

# \thời gian Thời gian đang bật. # CHỌN * từ pg_catalog.pg_attribute; Thời gian: 9,583 ms

12. Làm cách nào để sao lưu và khôi phục cơ sở dữ liệu và bảng trong PostgreSQL?

Câu hỏi này khá lớn và tôi sẽ đăng nó sau trong một bài viết riêng.

13. Làm cách nào để xem danh sách các hàm có sẵn trong PostgreSQL?

Để có được danh sách chức năng có sẵn, nói \df+

# \df # \df+

14. Làm cách nào để chỉnh sửa truy vấn PostgreSQL trong trình chỉnh sửa?

# \e

\e sẽ mở trình soạn thảo nơi bạn có thể chỉnh sửa truy vấn và lưu nó.

15. Tôi có thể tìm tệp lịch sử postgreSQL ở đâu?

Giống như tệp ~/.bash_history, postgreSQL lưu trữ mọi thứ lệnh sql trong tệp ~/.psql_history.

$ con mèo ~/.psql_history thay đổi postgres của người dùng bằng mật khẩu 'tmppassword'; \h thay đổi phiên bản chọn người dùng(); tạo ramesh người dùng bằng mật khẩu 'tmppassword'; \thời gian chọn * từ pg_catalog.pg_attribute;

PostgreSQL là một DBMS quan hệ đối tượng đa nền tảng với mã nguồn mở mã nguồn. Bài viết này sẽ hướng dẫn bạn cách cài đặt PostgreSQL trong Ubuntu Linux, kết nối với nó và chạy một số truy vấn SQL đơn giản cũng như cách thiết lập bản sao lưu.

Để cài đặt PostgreSQL 9.2 trên Ubuntu 12.10, hãy chạy các lệnh sau:

sudo apt-add-repository ppa:pitti/postgresql
cập nhật sudo apt-get
sudo apt-get cài đặt postgresql-9.2

Hãy thử làm việc với DBMS thông qua shell:

sudo -u postgres psql

Hãy tạo cơ sở dữ liệu thử nghiệm và người dùng thử nghiệm:

TẠO CƠ SỞ DỮ LIỆU test_database;
TẠO NGƯỜI DÙNG test_user BẰNG mật khẩu "qwerty";
CẤP TẤT CẢ TRÊN CƠ SỞ DỮ LIỆU test_database CHO test_user;

Để thoát khỏi shell, nhập lệnh \q .

Bây giờ hãy thử làm việc với cơ sở dữ liệu đã tạo thay mặt cho test_user:

psql -h localhost test_database test_user

Hãy tạo một bảng mới:

TẠO SEQUENCE user_ids;
TẠO người dùng BẢNG (
id INTEGER PRIMARY KEY MẶC ĐỊNH TIẾP THEO ("user_ids") ,
đăng nhập CHAR(64) ,
mật khẩu CHAR(64));

Xin lưu ý rằng, không giống như một số DBMS khác, PostgreSQL không có các cột có thuộc tính auto_increment. Thay vào đó, Postgres sử dụng trình tự. TRÊN khoảnh khắc này Chỉ cần biết rằng bằng cách sử dụng hàm nextval, chúng ta có thể nhận được các số duy nhất cho một chuỗi nhất định:

CHỌN TIẾP THEO ("user_ids" );

Bằng cách đặt giá trị mặc định cho trường id của bảng người dùng thành TIẾP THEO("user_ids"), chúng ta đã đạt được hiệu quả tương tự như auto_increment mang lại. Khi thêm bản ghi mới vào bảng, chúng ta không phải chỉ định id vì một id duy nhất sẽ được tạo tự động. Nhiều bảng có thể sử dụng cùng một trình tự. Bằng cách này, chúng tôi có thể đảm bảo rằng giá trị của một số trường trong các bảng này không trùng nhau. Theo nghĩa này, trình tự linh hoạt hơn auto_increment.

Có thể tạo cùng một bảng chỉ bằng một lệnh:

TẠO BẢNG user2 (
id KHÓA CHÍNH SERIAL,
đăng nhập CHAR(64) ,
mật khẩu CHAR(64));

Trong trường hợp này, chuỗi trường id được tạo tự động.

Bây giờ, bằng cách sử dụng lệnh \d, bạn có thể xem danh sách tất cả các bảng có sẵn và bằng cách sử dụng người dùng \d, bạn có thể xem mô tả về bảng người dùng. Nếu bạn không nhận được thông tin mình đang tìm kiếm, hãy thử \d+ thay vì \d . Bạn có thể lấy danh sách cơ sở dữ liệu bằng lệnh \l và chuyển sang cơ sở dữ liệu cụ thể bằng lệnh \c dbname. Để hiển thị lệnh trợ giúp, hãy nói \? .

Điều quan trọng cần lưu ý là PostgreSQL chuyển đổi tên bảng và cột thành chữ thường theo mặc định. Nếu bạn không muốn hành vi này, bạn có thể sử dụng dấu ngoặc kép:

TẠO BẢNG "anotherTable" ("someValue" VARCHAR (64 ) );

Một tính năng khác của PostgreSQL có thể gây khó khăn khi bắt đầu làm việc với DBMS này là cái gọi là “lược đồ”. Lược đồ giống như một không gian tên cho các bảng, giống như một thư mục chứa các bảng bên trong cơ sở dữ liệu.

Tạo một lược đồ:

TẠO đặt chỗ SCHEMA;

Chuyển sang sơ đồ:

THIẾT LẬP search_path ĐỂ đặt chỗ;

Danh sách xem các chương trình hiện có bạn có thể sử dụng lệnh \dn. Lược đồ mặc định được đặt tên là public. Về nguyên tắc, bạn có thể sử dụng thành công PostgreSQL mà không cần biết đến sự tồn tại của các lược đồ. Nhưng khi làm việc với mã kế thừa và trong một số trường hợp phức tạp, việc biết về lược đồ có thể rất hữu ích.

Mặt khác, làm việc với PostgreSQL không khác nhiều so với làm việc với bất kỳ DBMS quan hệ nào khác:

CHÈN VÀO người dùng (đăng nhập, mật khẩu)
GIÁ TRỊ ("afiskon", "123456" );
CHỌN * TỪ người dùng;

Nếu bây giờ bạn cố gắng kết nối với Postgres từ một máy khác, bạn sẽ thất bại:

psql -h 192.168.0.1 test_database test_user

Psql: không thể kết nối với máy chủ: Kết nối bị từ chối
Máy chủ có đang chạy trên máy chủ "192.168.0.1" và chấp nhận
Kết nối TCP/IP trên cổng 5432?

Để khắc phục điều này, hãy thêm dòng:

listen_addresses = "localhost,192.168.0.1"

...vào tệp /etc/postgresql/9.2/main/postgresql.conf.