ರಿಮೋಟ್ postgresql ಟೇಬಲ್‌ಗೆ ಸಂಪರ್ಕವನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ. ಸಬ್‌ಡಿಗೆ ಸಂಪರ್ಕ. ಡೇಟಾಬೇಸ್‌ಗೆ ಪ್ರವೇಶ ಹಕ್ಕುಗಳನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ

0

ನಾನು ಕೊನೆಯಲ್ಲಿದ್ದೇನೆ. ನಮಗೆ ಬೇಸ್ ಇದೆ ಪೋಸ್ಟ್ಗ್ರೆಸ್ ಡೇಟಾ 9.2, ನಾವು ಸ್ವಲ್ಪ ಸಮಯದಿಂದ ಬಳಸುತ್ತಿದ್ದೇವೆ. ಈಗ ನಾವು ನಮ್ಮ ನೆಟ್‌ವರ್ಕ್ ಹೊರಗಿನಿಂದ ಅದನ್ನು ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.

ಆದ್ದರಿಂದ ನಾವು ಬಾಹ್ಯ IP ವಿಳಾಸವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ ಮತ್ತು ನಾವು ಪೋರ್ಟ್ 5432 ಗೆ ಸಂಪರ್ಕಿಸಬಹುದೆಂದು ಪರೀಕ್ಷಿಸುತ್ತೇವೆ ರಿಮೋಟ್ ಹೋಸ್ಟ್ಟೆಲ್ನೆಟ್ ಮೂಲಕ. ಆದ್ದರಿಂದ ಇದು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ ನೆಟ್ವರ್ಕ್ ಸಂಪರ್ಕಕೆಲಸಗಳು, ಫೈರ್‌ವಾಲ್‌ಗಳು, ಇತ್ಯಾದಿ. ಎಲ್ಲವೂ ಒಳ್ಳೆಯದು.

ನಾನು ಸಂಪರ್ಕಿಸಲು ಪ್ರಯತ್ನಿಸಿದಾಗ:
PSQL -h db.host.com -d dbname -p 5432 -U ಬಳಕೆದಾರ

ನಾನು ಮರಳಿ ಬರುತ್ತೇನೆ Psql: ಸರ್ವರ್ ಅನಿರೀಕ್ಷಿತವಾಗಿ ಸಂಪರ್ಕವನ್ನು ಮುಚ್ಚಿದೆ.

ನಾನು ಅದನ್ನು ಪರಿಶೀಲಿಸಿದೆ
listen_addresses = "*" ಅನ್ನು postgresql.conf ನಲ್ಲಿ ಹೊಂದಿಸಲಾಗಿದೆ

ಮತ್ತು pg_hba.conf ನಲ್ಲಿ ನಾವು ಓದುವ ಸಾಲನ್ನು ಹೊಂದಿದ್ದೇವೆ (ಪರೀಕ್ಷಾ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಮಾತ್ರ)
ಎಲ್ಲಾ 0.0.0.0/0 md5 ಅನ್ನು ಹೋಸ್ಟ್ ಮಾಡಿ

ಮತ್ತು ಅದರ ಆಯ್ದ ಬದಲಾವಣೆಗಳನ್ನು ಪರೀಕ್ಷಿಸಲು ನಾನು ಡೇಟಾಬೇಸ್ ಅನ್ನು ಮರುಲೋಡ್ ಮಾಡಿದ್ದೇನೆ.
ಆದ್ದರಿಂದ ಇದು ಯಾವುದೇ ಮೂಲದಿಂದ ಸಂಪರ್ಕಗಳನ್ನು ಅನುಮತಿಸಬೇಕು.

ಡೇಟಾಬೇಸ್ ಸರ್ವರ್‌ನಲ್ಲಿನ psql ಆವೃತ್ತಿಯು 9.2.14 ಆಗಿದೆ ಮತ್ತು ಕ್ಲೈಂಟ್‌ನಲ್ಲಿ ಇದು 9.2.13 ಆಗಿದೆ.

ಯಾವುದೇ ಸಲಹೆಗಳು ಅಥವಾ ಆಲೋಚನೆಗಳು?

  • 1 ಉತ್ತರ
  • ವಿಂಗಡಣೆ:

    ಚಟುವಟಿಕೆ

1

ಹೆಚ್ಚಿನ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು ನಾನು ಕೆಲವು ವಿಷಯಗಳನ್ನು ಪ್ರಯತ್ನಿಸಲು ಬಯಸುತ್ತೇನೆ:

    ಸಂಪರ್ಕಗೊಂಡಾಗ ಅಲ್ಲಿ ಏನು ನಡೆಯುತ್ತಿದೆ ಎಂಬುದನ್ನು ನೋಡಲು Postgres ಟೈಲ್ ಸರ್ವರ್‌ಗೆ ಲಾಗ್ ಇನ್ ಆಗುತ್ತದೆ.

    psql --version ಅನ್ನು ರನ್ ಮಾಡಿ ಇದು ಸರ್ವರ್ ಆವೃತ್ತಿಗೆ ಹೆಚ್ಚು ಅಥವಾ ಕಡಿಮೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. (ನೀವು ಈಗಾಗಲೇ ಇದನ್ನು ಮಾಡಿದ್ದೀರಿ ಎಂದು ನಾನು ನೋಡುತ್ತೇನೆ, ಆದರೆ ನಾನು ಅದನ್ನು ಸಂತತಿಗಾಗಿ ಇಲ್ಲಿ ಬಿಡುತ್ತೇನೆ.)

    strace psql ಅನ್ನು ರನ್ ಮಾಡಿ.... ವೈಫಲ್ಯಕ್ಕೆ ಎಷ್ಟು ದೂರ ಹೋಗುತ್ತದೆ ಎಂಬುದನ್ನು ನೋಡಲು.

ಇದು ನನಗೆ ಇನ್ನೂ ನೆಟ್‌ವರ್ಕ್ ಸಮಸ್ಯೆಯಂತೆ ತೋರುತ್ತದೆ. ಏನಾಯ್ತು ಟೆಲ್ನೆಟ್ ಆಜ್ಞೆನೀವು ಯಾರೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದೀರಿ? "ಬಾಹ್ಯ IP" ನೀವು AWS ನಲ್ಲಿರುವಂತೆಯೇ ಧ್ವನಿಸುತ್ತದೆ. ಸೆಟ್ಟಿಂಗ್‌ಗಳು ದೂರಸ್ಥ ಪ್ರವೇಶ VPC ಗೆ ಹಲವು ಕ್ರಮಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ನೀವು ಚಾಲನೆಯಲ್ಲಿರುವ ಯಾವುದೇ ಇತರ ಸೇವೆಗಳನ್ನು ಹೊರಕ್ಕೆ ತೆರೆದಿದ್ದೀರಾ?

ಪೋಸ್ಟ್‌ಗ್ರೆಸ್ ಸರ್ವರ್ ಅನ್ನು ಮುಚ್ಚುವ ಮೂಲಕ ಮತ್ತು 5432 ನಲ್ಲಿ ಕೇಳಲು nc ಅನ್ನು ಬಳಸುವ ಮೂಲಕ ನೀವು ದೋಷನಿವಾರಣೆ ಮಾಡಬಹುದು. ನಂತರ ಟೆಲ್ನೆಟ್ ಮಾಡಿ ಮತ್ತು ನೀವು ಡೇಟಾವನ್ನು ಹಿಂದಕ್ಕೆ ಮತ್ತು ಮುಂದಕ್ಕೆ ಕಳುಹಿಸಬಹುದೇ ಎಂದು ನೋಡಿ.

1

ಪಾಲ್, ಸಲಹೆಗಳಿಗೆ ಧನ್ಯವಾದಗಳು. ನಾನು ವಿಸ್ತರಣೆಯನ್ನು ಮಾಡಿದೆ ಮತ್ತು ಆವೃತ್ತಿಗಳನ್ನು ಪರಿಶೀಲಿಸಿದೆ. ಮತ್ತು ನೀವು ಹೇಳಿದ್ದು ಸರಿ, ನಾನು AWS ನಿಂದ ಸಂಪರ್ಕಿಸಲು ಪ್ರಯತ್ನಿಸಿದೆ. AWS ಪ್ರಕಟಿಸುವ IP ಗಳ IP-2 ಶ್ರೇಣಿಗಳಿಗೆ ಮಾತ್ರ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸಲು ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸರ್‌ನಲ್ಲಿ ನಾನು ಬಳಸುತ್ತಿರುವ ಶ್ರೇಣಿ ಇದು ಎಂದು ತಿರುಗುತ್ತದೆ. ನಾನು ಇರುಲ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದಾಗ ನಾನು ತಕ್ಷಣವೇ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಾಯಿತು. ಹಾಗಾಗಿ ಇದು ಅತಿವಾಸ್ತವಿಕ ತರ್ಕವಾಗಿರಬೇಕು ಏಕೆಂದರೆ ನಾನು ನನ್ನ EC2 ನಿದರ್ಶನದ ಸಾರ್ವಜನಿಕ IP ಅನ್ನು ಪರಿಶೀಲಿಸಿದ್ದೇನೆ ಮತ್ತು CIDR ಅಧಿಸೂಚನೆಯ ಮೂಲಕ ಇದು ನಿಜವಾಗಿ ಇರುಲ್‌ನಲ್ಲಿ ಪಟ್ಟಿಮಾಡಲಾಗಿದೆ. -

ಸಿಸ್ಟಮ್ ಅಡ್ಮಿನಿಸ್ಟ್ರೇಷನ್

ಈ ಪೋಸ್ಟ್ ಆಗಿದೆ ಸಂಕ್ಷಿಪ್ತ ಸೂಚನೆಗಳುಆರಂಭಿಕರಿಗಾಗಿ, ಮೊದಲ ಬಾರಿಗೆ PostgreSQL ಅನ್ನು ಸ್ಥಾಪಿಸಿದವರಿಗೆ. PostgreSQL ನೊಂದಿಗೆ ನೀವು ಪ್ರಾರಂಭಿಸಲು ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ ಮಾಹಿತಿ ಇಲ್ಲಿದೆ.

DBMS ಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ

ಮಾಡಬೇಕಾದ ಮೊದಲ ವಿಷಯವೆಂದರೆ PostgreSQL ಗೆ ಪ್ರವೇಶವನ್ನು ಪಡೆಯುವುದು, ಸೂಪರ್ಯೂಸರ್ ಆಗಿ ಪ್ರವೇಶ.
ದೃಢೀಕರಣ ಸೆಟ್ಟಿಂಗ್‌ಗಳು pg_hba.conf ಫೈಲ್‌ನಲ್ಲಿವೆ.
  1. ಸ್ಥಳೀಯ ಎಲ್ಲಾ ಪೋಸ್ಟ್‌ಗ್ರೆಸ್ ಗೆಳೆಯರು
ಪೋಸ್ಟ್‌ಗ್ರೆಸ್ ಬಳಕೆದಾರರು ಯಾವುದೇ ಸ್ಥಳೀಯ PostgreSQL ಡೇಟಾಬೇಸ್‌ಗೆ ಸಾಕೆಟ್ ಮೂಲಕ ಸಂಪರ್ಕಿಸಬಹುದು ಎಂದು ಈ ಸಾಲು ಸೂಚಿಸುತ್ತದೆ. ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ನಮೂದಿಸುವ ಅಗತ್ಯವಿಲ್ಲ; ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಬಳಕೆದಾರ ಹೆಸರನ್ನು ರವಾನಿಸುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ದೃಢೀಕರಣಕ್ಕಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.
ಸಂಪರ್ಕಿಸೋಣ:
  1. $ sudo -u postgres psql postgres postgres
ನೆಟ್‌ವರ್ಕ್ ಮೂಲಕ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಾಗುವಂತೆ, ನೀವು pg_hdba.conf ಗೆ ಸಾಲನ್ನು ಸೇರಿಸುವ ಅಗತ್ಯವಿದೆ:
  1. # ಡೇಟಾಬೇಸ್ ಬಳಕೆದಾರ ವಿಳಾಸ ವಿಧಾನವನ್ನು ಟೈಪ್ ಮಾಡಿ
  2. hostssl ಎಲ್ಲಾ ಎಲ್ಲಾ 0.0.0.0/0 md5
ದೃಢೀಕರಣ ವಿಧಾನ md5ಸಂಪರ್ಕಿಸಲು ನೀವು ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ನಮೂದಿಸಬೇಕು ಎಂದರ್ಥ. ನೀವು ಆಗಾಗ್ಗೆ psql ಕನ್ಸೋಲ್ ಅನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ ಇದು ತುಂಬಾ ಅನುಕೂಲಕರವಲ್ಲ. ನೀವು ಏನನ್ನಾದರೂ ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಲು ಬಯಸಿದರೆ, ಕೆಟ್ಟ ಸುದ್ದಿ ಎಂದರೆ psql ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ವಾದವಾಗಿ ಸ್ವೀಕರಿಸುವುದಿಲ್ಲ. ಈ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಎರಡು ಮಾರ್ಗಗಳಿವೆ: ಸೂಕ್ತವಾದ ಪರಿಸರ ವೇರಿಯಬಲ್ ಅನ್ನು ಹೊಂದಿಸುವುದು ಮತ್ತು ವಿಶೇಷ .pgpass ಫೈಲ್‌ನಲ್ಲಿ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಸಂಗ್ರಹಿಸುವುದು.

PGPASSWORD ಪರಿಸರ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ

ಈ ವಿಧಾನವನ್ನು ಬಳಸದಿರುವುದು ಉತ್ತಮ ಎಂದು ನಾನು ಈಗಿನಿಂದಲೇ ಹೇಳುತ್ತೇನೆ, ಏಕೆಂದರೆ ಕೆಲವು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂಗಳುನೀವು ವೀಕ್ಷಿಸಲು ಅವಕಾಶ ಸಾಮಾನ್ಯ ಬಳಕೆದಾರರು ಪರಿಸರ ಅಸ್ಥಿರ ps ಮೂಲಕ. ಆದರೆ ನೀವು ಬಯಸಿದರೆ, ನೀವು ಟರ್ಮಿನಲ್ನಲ್ಲಿ ಬರೆಯಬೇಕು:
  1. ರಫ್ತು PGPASSWORD=mypasswd
ಪ್ರಸ್ತುತ ಅಧಿವೇಶನದಲ್ಲಿ ವೇರಿಯಬಲ್ ಲಭ್ಯವಿರುತ್ತದೆ. ನೀವು ಎಲ್ಲಾ ಸೆಷನ್‌ಗಳಿಗೆ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಹೊಂದಿಸಬೇಕಾದರೆ, ನೀವು ಉದಾಹರಣೆಯಿಂದ .bashrc ಅಥವಾ .bash_profile ಫೈಲ್‌ಗೆ ಸಾಲನ್ನು ಸೇರಿಸಬೇಕಾಗುತ್ತದೆ.

.pgpass ಫೈಲ್‌ನಲ್ಲಿ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಸಂಗ್ರಹಿಸಲಾಗುತ್ತಿದೆ

ನಾವು ಲಿನಕ್ಸ್ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತಿದ್ದರೆ, ಫೈಲ್ $ HOME (/home/username) ನಲ್ಲಿ ಇರಬೇಕು. ಮಾಲೀಕರು (0600) ಮಾತ್ರ ಬರೆಯುವ ಮತ್ತು ಓದುವ ಹಕ್ಕುಗಳನ್ನು ಹೊಂದಿರಬೇಕು. ನೀವು ಫೈಲ್‌ಗೆ ಈ ರೀತಿಯ ಸಾಲುಗಳನ್ನು ಬರೆಯಬೇಕಾಗಿದೆ:
  1. hostname:port:database:username:password
ನೀವು ಮೊದಲ ನಾಲ್ಕು ಕ್ಷೇತ್ರಗಳಲ್ಲಿ "*" ಅನ್ನು ಬರೆಯಬಹುದು, ಅಂದರೆ ಫಿಲ್ಟರಿಂಗ್ ಇಲ್ಲ (ಪೂರ್ಣ ಆಯ್ಕೆ).

ಸಹಾಯ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲಾಗುತ್ತಿದೆ

\? - ಎಲ್ಲವನ್ನೂ ಬಿಟ್ಟುಕೊಡುತ್ತದೆ ಲಭ್ಯವಿರುವ ಆಜ್ಞೆಗಳುಅವರ ಸಂಕ್ಷಿಪ್ತ ವಿವರಣೆಯೊಂದಿಗೆ,
\h - ಲಭ್ಯವಿರುವ ಎಲ್ಲಾ ಪ್ರಶ್ನೆಗಳ ಪಟ್ಟಿಯನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ,
\h ರಚಿಸಿ - ನಿರ್ದಿಷ್ಟ ವಿನಂತಿಗೆ ಸಹಾಯವನ್ನು ಒದಗಿಸುತ್ತದೆ.

DBMS ಬಳಕೆದಾರ ನಿರ್ವಹಣೆ

PostgreSQL ಬಳಕೆದಾರರ ಪಟ್ಟಿಯನ್ನು ಹೇಗೆ ಪಡೆಯುವುದು?
  1. ಅಥವಾ ನೀವು pg_user ಕೋಷ್ಟಕವನ್ನು ಪ್ರಶ್ನಿಸಬಹುದು.

ಆಯ್ಕೆ * pg_user ನಿಂದ ;

ಹೊಸ PostgreSQL ಬಳಕೆದಾರರನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ ಇಂದಶೆಲ್
  1. psql ಇದನ್ನು CREATE ಆಜ್ಞೆಯನ್ನು ಬಳಸಿ ಮಾಡಬಹುದು.
ಪಾಸ್ವರ್ಡ್ "ಪಾಸ್ವರ್ಡ್" ನೊಂದಿಗೆ ಬಳಕೆದಾರರ ಬಳಕೆದಾರ ಹೆಸರನ್ನು ರಚಿಸಿ ;
  1. ಅಥವಾ ನೀವು ಟರ್ಮಿನಲ್ ಅನ್ನು ಬಳಸಬಹುದು.
createuser -S -D -R -P ಬಳಕೆದಾರಹೆಸರು

ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ನಮೂದಿಸಲು ನಿಮ್ಮನ್ನು ಕೇಳಲಾಗುತ್ತದೆ.

  1. ಬಳಕೆದಾರರ ಗುಪ್ತಪದವನ್ನು ಬದಲಾಯಿಸುವುದು

ಪಾಸ್ವರ್ಡ್ "ಪಾಸ್ವರ್ಡ್" ನೊಂದಿಗೆ ಬಳಕೆದಾರರ ಬಳಕೆದಾರಹೆಸರನ್ನು ಬದಲಿಸಿ ;

ಬಳಕೆದಾರರ ಪಾತ್ರಗಳನ್ನು ಬದಲಾಯಿಸುವುದು
  1. ಡೇಟಾಬೇಸ್‌ಗಳನ್ನು ರಚಿಸಲು ಬಳಕೆದಾರರಿಗೆ ಅನುಮತಿ ನೀಡಲು, ಈ ಕೆಳಗಿನ ಪ್ರಶ್ನೆಯನ್ನು ಚಲಾಯಿಸಿ:

CREATEDB ಜೊತೆಗೆ ಪಾತ್ರದ ಬಳಕೆದಾರಹೆಸರನ್ನು ಬದಲಿಸಿ;

ಡೇಟಾಬೇಸ್ ನಿರ್ವಹಣೆ
  1. psql ಟರ್ಮಿನಲ್‌ನಲ್ಲಿ ಡೇಟಾಬೇಸ್‌ಗಳ ಪಟ್ಟಿಯನ್ನು ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತಿದೆ: Linux ಟರ್ಮಿನಲ್‌ನಿಂದ ಅದೇ ರೀತಿ:
psql -l
  1. psql (PostgreSQL ಟರ್ಮಿನಲ್) ನಿಂದ ಡೇಟಾಬೇಸ್ ರಚಿಸಲಾಗುತ್ತಿದೆ
ಡೇಟಾಬೇಸ್ dbname ಮಾಲೀಕರು dbadmin ಅನ್ನು ರಚಿಸಿ; ಸೃಷ್ಟಿಹೊಸ ಬೇಸ್
  1. ಟರ್ಮಿನಲ್ ಅನ್ನು ಬಳಸುವ ಡೇಟಾ:

ರಚಿಸಲಾಗಿದೆb -O ಬಳಕೆದಾರಹೆಸರು dbname;

ಡೇಟಾಬೇಸ್‌ಗೆ ಪ್ರವೇಶ ಹಕ್ಕುಗಳನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ ಬಳಕೆದಾರರು ಡೇಟಾಬೇಸ್‌ನ ಮಾಲೀಕರಾಗಿದ್ದರೆ, ಅವರಿಗೆ ಎಲ್ಲಾ ಹಕ್ಕುಗಳಿವೆ. ಆದರೆ ನೀವು ಇನ್ನೊಬ್ಬ ಬಳಕೆದಾರರಿಗೆ ಪ್ರವೇಶವನ್ನು ನೀಡಲು ಬಯಸಿದರೆ, ನೀವು GRANT ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಇದನ್ನು ಮಾಡಬಹುದು. ಕೆಳಗಿನ ಪ್ರಶ್ನೆಯು ಬಳಕೆದಾರರನ್ನು ಡೇಟಾಬೇಸ್‌ಗೆ ಸಂಪರ್ಕಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಆದರೆ ಬಗ್ಗೆ ಮರೆಯಬೇಡಿಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್
  1. pg_hba.conf, ಇದು ಸೂಕ್ತವಾದ ಸಂಪರ್ಕ ಅನುಮತಿಗಳನ್ನು ಹೊಂದಿರಬೇಕು.

dbadmin ಗೆ ಡೇಟಾಬೇಸ್ dbname ನಲ್ಲಿ ಸಂಪರ್ಕ ಕಲ್ಪಿಸಿ; PostgreSQL ತೆರೆದಿರುವ ಕ್ರಾಸ್-ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಆಬ್ಜೆಕ್ಟ್-ರಿಲೇಶನಲ್ DBMS ಆಗಿದೆಮೂಲ ಕೋಡ್ . PostgreSQL ಅನ್ನು ಹೇಗೆ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡುವುದು ಎಂಬುದನ್ನು ಈ ಲೇಖನವು ನಿಮಗೆ ತೋರಿಸುತ್ತದೆಉಬುಂಟು ಲಿನಕ್ಸ್ , ಅದಕ್ಕೆ ಸಂಪರ್ಕಪಡಿಸಿ ಮತ್ತು ಜೋಡಿಯನ್ನು ನಿರ್ವಹಿಸಿಸರಳ SQL ಪ್ರಶ್ನೆಗಳು

, ಹಾಗೆಯೇ ಬ್ಯಾಕ್‌ಅಪ್‌ಗಳನ್ನು ಹೇಗೆ ಹೊಂದಿಸುವುದು.

ಉಬುಂಟು 12.10 ನಲ್ಲಿ PostgreSQL 9.2 ಅನ್ನು ಸ್ಥಾಪಿಸಲು, ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಗಳನ್ನು ಚಲಾಯಿಸಿ:
sudo apt-add-repository ppa:pitti/ postgresql
sudo apt-get update

sudo apt-get install postgresql-9.2

ಶೆಲ್ ಮೂಲಕ DBMS ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಪ್ರಯತ್ನಿಸೋಣ:

sudo -u postgres psql

ಪರೀಕ್ಷಾ ಡೇಟಾಬೇಸ್ ಮತ್ತು ಪರೀಕ್ಷಾ ಬಳಕೆದಾರರನ್ನು ರಚಿಸೋಣ:
ಡೇಟಾಬೇಸ್ ಟೆಸ್ಟ್_ಡೇಟಾಬೇಸ್ ರಚಿಸಿ;
ಪಾಸ್ವರ್ಡ್ "qwerty" ನೊಂದಿಗೆ USER test_user ಅನ್ನು ರಚಿಸಿ ;

test_user ಗೆ ಡೇಟಾಬೇಸ್ ಟೆಸ್ಟ್_ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಎಲ್ಲವನ್ನೂ ನೀಡಿ;

ಶೆಲ್‌ನಿಂದ ನಿರ್ಗಮಿಸಲು, \q ಆಜ್ಞೆಯನ್ನು ನಮೂದಿಸಿ.

psql -h ಲೋಕಲ್ ಹೋಸ್ಟ್ test_database test_user

ಹೊಸ ಕೋಷ್ಟಕವನ್ನು ರಚಿಸೋಣ:

SEQUENCE user_idಗಳನ್ನು ರಚಿಸಿ;
ಟೇಬಲ್ ಬಳಕೆದಾರರನ್ನು ರಚಿಸಿ (
ಐಡಿ ಪೂರ್ಣಾಂಕ ಪ್ರಾಥಮಿಕ ಕೀ ಡೀಫಾಲ್ಟ್ ನೆಕ್ಸ್ಟ್ವಲ್ ("ಬಳಕೆದಾರ_ಐಡಿಗಳು" ) ,
ಲಾಗಿನ್ ಚಾರ್(64) ,
ಪಾಸ್ವರ್ಡ್ CHAR(64));

ಕೆಲವು ಇತರ DBMS ಗಳಂತೆ, PostgreSQL ಆಟೋ_ಇನ್‌ಕ್ರಿಮೆಂಟ್ ಪ್ರಾಪರ್ಟಿಯೊಂದಿಗೆ ಕಾಲಮ್‌ಗಳನ್ನು ಹೊಂದಿಲ್ಲ ಎಂಬುದನ್ನು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಬದಲಿಗೆ, Postgres ಅನುಕ್ರಮಗಳನ್ನು ಬಳಸುತ್ತದೆ. ಆನ್ ಕ್ಷಣದಲ್ಲಿನೆಕ್ಸ್ಟ್ವಲ್ ಫಂಕ್ಷನ್ ಬಳಸಿ ನಾವು ಪಡೆಯಬಹುದು ಎಂದು ತಿಳಿದರೆ ಸಾಕು ಅನನ್ಯ ಸಂಖ್ಯೆಗಳುನಿರ್ದಿಷ್ಟ ಅನುಕ್ರಮಕ್ಕಾಗಿ:

NEXTVAL ("user_ids" ) ಆಯ್ಕೆಮಾಡಿ ;

ಬಳಕೆದಾರರ ಕೋಷ್ಟಕದ ಐಡಿ ಕ್ಷೇತ್ರಕ್ಕೆ ಡಿಫಾಲ್ಟ್ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿಸುವ ಮೂಲಕ ಮುಂದಿನದು("ಬಳಕೆದಾರ_ಐಡಿಗಳು"), ಆಟೋ_ಇನ್ಕ್ರಿಮೆಂಟ್ ನೀಡುವ ಅದೇ ಪರಿಣಾಮವನ್ನು ನಾವು ಸಾಧಿಸಿದ್ದೇವೆ. ಟೇಬಲ್‌ಗೆ ಹೊಸ ದಾಖಲೆಗಳನ್ನು ಸೇರಿಸುವಾಗ, ನಾವು ಐಡಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕಾಗಿಲ್ಲ, ಏಕೆಂದರೆ ಅನನ್ಯ ಐಡಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಉತ್ಪತ್ತಿಯಾಗುತ್ತದೆ. ಬಹು ಕೋಷ್ಟಕಗಳು ಒಂದೇ ಅನುಕ್ರಮವನ್ನು ಬಳಸಬಹುದು. ಈ ರೀತಿಯಾಗಿ ಈ ಕೋಷ್ಟಕಗಳಲ್ಲಿನ ಕೆಲವು ಕ್ಷೇತ್ರಗಳ ಮೌಲ್ಯಗಳು ಅತಿಕ್ರಮಿಸುವುದಿಲ್ಲ ಎಂದು ನಾವು ಖಾತರಿಪಡಿಸಬಹುದು. ಈ ಅರ್ಥದಲ್ಲಿ, ಆಟೋ_ಇನ್‌ಕ್ರಿಮೆಂಟ್‌ಗಿಂತ ಅನುಕ್ರಮಗಳು ಹೆಚ್ಚು ಹೊಂದಿಕೊಳ್ಳುತ್ತವೆ.

ಒಂದೇ ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಒಂದೇ ಕೋಷ್ಟಕವನ್ನು ರಚಿಸಬಹುದು:

ಟೇಬಲ್ ಬಳಕೆದಾರರನ್ನು ರಚಿಸಿ 2 (
ಐಡಿ ಸೀರಿಯಲ್ ಪ್ರೈಮರಿ ಕೀ,
ಲಾಗಿನ್ ಚಾರ್(64) ,
ಪಾಸ್ವರ್ಡ್ CHAR(64));

ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಐಡಿ ಕ್ಷೇತ್ರದ ಅನುಕ್ರಮವನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ರಚಿಸಲಾಗುತ್ತದೆ.

ಈಗ \d ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು ಲಭ್ಯವಿರುವ ಎಲ್ಲಾ ಕೋಷ್ಟಕಗಳ ಪಟ್ಟಿಯನ್ನು ನೋಡಬಹುದು ಮತ್ತು \d ಬಳಕೆದಾರರನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು ಬಳಕೆದಾರರ ಕೋಷ್ಟಕದ ವಿವರಣೆಯನ್ನು ನೋಡಬಹುದು. ನೀವು ಹುಡುಕುತ್ತಿರುವ ಮಾಹಿತಿಯನ್ನು ನೀವು ಪಡೆಯದಿದ್ದರೆ, \d ಬದಲಿಗೆ \d+ ಪ್ರಯತ್ನಿಸಿ. ನೀವು \l ಆಜ್ಞೆಯೊಂದಿಗೆ ಡೇಟಾಬೇಸ್‌ಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಬಹುದು ಮತ್ತು \c dbname ಆಜ್ಞೆಯೊಂದಿಗೆ ನಿರ್ದಿಷ್ಟ ಡೇಟಾಬೇಸ್‌ಗೆ ಬದಲಾಯಿಸಬಹುದು. ಆಜ್ಞೆಯ ಸಹಾಯವನ್ನು ಪ್ರದರ್ಶಿಸಲು, ಹೇಳಿ \?

. PostgreSQL ನಲ್ಲಿ, ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಟೇಬಲ್ ಮತ್ತು ಕಾಲಮ್ ಹೆಸರುಗಳನ್ನು ಬಿತ್ತರಿಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನಿಸುವುದು ಮುಖ್ಯವಾಗಿದೆಸಣ್ಣ ಅಕ್ಷರ

. ನೀವು ಈ ನಡವಳಿಕೆಯನ್ನು ಬಯಸದಿದ್ದರೆ, ನೀವು ಎರಡು ಉಲ್ಲೇಖಗಳನ್ನು ಬಳಸಬಹುದು:

ಟೇಬಲ್ "ಇನ್ನೊಂದು ಕೋಷ್ಟಕ" ("ಕೆಲವು ಮೌಲ್ಯ" ವರ್ಚಾರ್ (64 ) ) ರಚಿಸಿ ;

ಈ DBMS ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಪ್ರಾರಂಭಿಸುವಾಗ ತೊಂದರೆಗಳನ್ನು ಉಂಟುಮಾಡುವ PostgreSQL ನ ಮತ್ತೊಂದು ವೈಶಿಷ್ಟ್ಯವೆಂದರೆ "ಸ್ಕೀಮಾಗಳು" ಎಂದು ಕರೆಯಲ್ಪಡುತ್ತದೆ. ಸ್ಕೀಮಾ ಎನ್ನುವುದು ಟೇಬಲ್‌ಗಳಿಗೆ ನೇಮ್‌ಸ್ಪೇಸ್‌ನಂತೆ, ಡೇಟಾಬೇಸ್‌ನೊಳಗೆ ಕೋಷ್ಟಕಗಳನ್ನು ಹೊಂದಿರುವ ಡೈರೆಕ್ಟರಿಯಂತೆ.

ಸ್ಕೀಮಾವನ್ನು ರಚಿಸುವುದು:

ಸ್ಕೀಮಾ ಬುಕಿಂಗ್‌ಗಳನ್ನು ರಚಿಸಿ;

ಸ್ಕೀಮ್‌ಗೆ ಬದಲಿಸಿ:

\dn ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸ್ಕೀಮ್‌ಗಳ ಪಟ್ಟಿಯನ್ನು ವೀಕ್ಷಿಸಬಹುದು. ಡೀಫಾಲ್ಟ್ ಸ್ಕೀಮಾವನ್ನು ಸಾರ್ವಜನಿಕ ಎಂದು ಹೆಸರಿಸಲಾಗಿದೆ. ತಾತ್ವಿಕವಾಗಿ, ಸ್ಕೀಮಾಗಳ ಅಸ್ತಿತ್ವದ ಬಗ್ಗೆ ತಿಳಿಯದೆ ನೀವು ಯಶಸ್ವಿಯಾಗಿ PostgreSQL ಅನ್ನು ಬಳಸಬಹುದು. ಆದರೆ ಲೆಗಸಿ ಕೋಡ್‌ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ ಮತ್ತು ಕೆಲವು ಅಂಚಿನ ಸಂದರ್ಭಗಳಲ್ಲಿ, ಸ್ಕೀಮಾಗಳ ಬಗ್ಗೆ ತಿಳಿದುಕೊಳ್ಳುವುದು ತುಂಬಾ ಉಪಯುಕ್ತವಾಗಿದೆ.

ಇಲ್ಲದಿದ್ದರೆ, PostgreSQL ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು ಇತರ ಸಂಬಂಧಿತ DBMS ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದಕ್ಕಿಂತ ಹೆಚ್ಚು ಭಿನ್ನವಾಗಿರುವುದಿಲ್ಲ:

ಬಳಕೆದಾರರಿಗೆ ಸೇರಿಸಿ (ಲಾಗಿನ್, ಪಾಸ್‌ವರ್ಡ್)
ಮೌಲ್ಯಗಳು ("ಅಫಿಸ್ಕಾನ್" , "123456" );
ಆಯ್ಕೆ * ಬಳಕೆದಾರರಿಂದ;

ನೀವು ಈಗ ಮತ್ತೊಂದು ಯಂತ್ರದಿಂದ Postgres ಗೆ ಸಂಪರ್ಕಿಸಲು ಪ್ರಯತ್ನಿಸಿದರೆ, ನೀವು ವಿಫಲರಾಗುತ್ತೀರಿ:

psql -h 192.168.0.1 test_database test_user

Psql: ಸರ್ವರ್‌ಗೆ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ: ಸಂಪರ್ಕವನ್ನು ನಿರಾಕರಿಸಲಾಗಿದೆ
ಹೋಸ್ಟ್ "192.168.0.1" ನಲ್ಲಿ ಸರ್ವರ್ ಚಾಲನೆಯಲ್ಲಿದೆ ಮತ್ತು ಸ್ವೀಕರಿಸುತ್ತಿದೆ
ಪೋರ್ಟ್ 5432 ನಲ್ಲಿ TCP/IP ಸಂಪರ್ಕಗಳು?

ಇದನ್ನು ಸರಿಪಡಿಸಲು, ಸಾಲನ್ನು ಸೇರಿಸಿ:

listen_addresses = "ಸ್ಥಳೀಯ ಹೋಸ್ಟ್,192.168.0.1"

... /etc/postgresql/9.2/main/postgresql.conf ಫೈಲ್‌ಗೆ ಸಹ.