CONNECT
CONNECT â ÑÑÑановиÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение к базе даннÑÑ
СинÑакÑиÑ
CONNECT TOÑелÑ_подклÑÑениÑ[ ASимÑ_подклÑÑениÑ] [ USERполÑзоваÑелÑ_подклÑÑениÑ] CONNECT TO DEFAULT CONNECTполÑзоваÑелÑ_подклÑÑениÑDATABASEÑелÑ_подклÑÑениÑ
ÐпиÑание
Ðоманда CONNECT ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение клиенÑа к ÑеÑвеÑÑ Postgres Pro.
ÐаÑамеÑÑÑ
ÑелÑ_подклÑÑениÑ#ÑелÑ_ÑоединениÑзадаÑÑ Ñелевой ÑеÑÐ²ÐµÑ Ð¸ Ð±Ð°Ð·Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð² одной из неÑколÑÐºÐ¸Ñ ÑоÑм.- [
имÑ_бд] [@ÑеÑвеÑ] [:поÑÑ] # ÐодклÑÑение по TCP/IP
unix:postgresql://ÑеÑвеÑ[:поÑÑ]/[имÑ_бд] [?паÑамеÑÑ_подклÑÑениÑ] #ÐодклÑÑение ÑеÑез Unix-ÑокеÑÑ
tcp:postgresql://ÑеÑвеÑ[:поÑÑ]/[имÑ_бд] [?паÑамеÑÑ_подклÑÑениÑ] #ÐодклÑÑение по TCP/IP
- СÑÑÐ¾ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð½ÑÑанÑа SQL #
ÑодеÑжаÑÐ°Ñ Ð·Ð½Ð°Ñение в одной из показаннÑÑ Ð²ÑÑе ÑоÑм
- пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ ÑÑÐµÐ´Ñ C #
пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ ÑÑÐµÐ´Ñ C Ñипа
char[]илиVARCHAR[], ÑодеÑжаÑÐ°Ñ Ð·Ð½Ð°Ñение в одной из показаннÑÑ Ð²ÑÑе ÑоÑм
- [
имÑ_подклÑÑениÑ#ÐеобÑзаÑелÑнÑй иденÑиÑикаÑÐ¾Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ, позволÑÑÑий обÑаÑаÑÑÑÑ Ðº ÑÑÐ¾Ð¼Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð² дÑÑÐ³Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ . ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ SQL или пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ ÑÑÐµÐ´Ñ C.
полÑзоваÑелÑ_подклÑÑениÑ#ÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ðº базе даннÑÑ .
Ð ÑÑом паÑамеÑÑе Ñакже можно пеÑедаÑÑ Ð¸Ð¼Ñ Ð¸ паÑÐ¾Ð»Ñ Ð¾Ð´Ð½Ð¸Ð¼ из ÑледÑÑÑÐ¸Ñ ÑпоÑобов:
,имÑ_полÑзоваÑелÑ/паÑолÑилиимÑ_полÑзоваÑелÑIDENTIFIED BYпаÑолÑ.имÑ_полÑзоваÑелÑUSINGпаÑолÑРкаÑеÑÑве имени полÑзоваÑÐµÐ»Ñ Ð¸ паÑÐ¾Ð»Ñ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑÑ SQL, ÑÑÑоковÑе конÑÑанÑÑ Ð¸Ð»Ð¸ пеÑеменнÑе ÑÑедÑ.
DEFAULT#ÐÑполÑзоваÑÑ Ð²Ñе паÑамеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑаниÑ, коÑоÑÑе опÑÐµÐ´ÐµÐ»ÐµÐ½Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñекой libpq.
ÐÑимеÑÑ
ÐеÑколÑко ваÑианÑов ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿Ð°ÑамеÑÑов подклÑÑениÑ:
EXEC SQL CONNECT TO "connectdb" AS main; EXEC SQL CONNECT TO "connectdb" AS second; EXEC SQL CONNECT TO "unix:postgresql://200.46.204.71/connectdb" AS main USER connectuser; EXEC SQL CONNECT TO "unix:postgresql://localhost/connectdb" AS main USER connectuser; EXEC SQL CONNECT TO 'connectdb' AS main; EXEC SQL CONNECT TO 'unix:postgresql://localhost/connectdb' AS main USER :user; EXEC SQL CONNECT TO :db AS :id; EXEC SQL CONNECT TO :db USER connectuser USING :pw; EXEC SQL CONNECT TO @localhost AS main USER connectdb; EXEC SQL CONNECT TO REGRESSDB1 as main; EXEC SQL CONNECT TO AS main USER connectdb; EXEC SQL CONNECT TO connectdb AS :id; EXEC SQL CONNECT TO connectdb AS main USER connectuser/connectdb; EXEC SQL CONNECT TO connectdb AS main; EXEC SQL CONNECT TO connectdb@localhost AS main; EXEC SQL CONNECT TO tcp:postgresql://localhost/ USER connectdb; EXEC SQL CONNECT TO tcp:postgresql://localhost/connectdb USER connectuser IDENTIFIED BY connectpw; EXEC SQL CONNECT TO tcp:postgresql://localhost:20/connectdb USER connectuser IDENTIFIED BY connectpw; EXEC SQL CONNECT TO unix:postgresql://localhost/ AS main USER connectdb; EXEC SQL CONNECT TO unix:postgresql://localhost/connectdb AS main USER connectuser; EXEC SQL CONNECT TO unix:postgresql://localhost/connectdb USER connectuser IDENTIFIED BY "connectpw"; EXEC SQL CONNECT TO unix:postgresql://localhost/connectdb USER connectuser USING "connectpw"; EXEC SQL CONNECT TO unix:postgresql://localhost/connectdb?connect_timeout=14 USER connectuser;
СледÑÑÑий пÑÐ¸Ð¼ÐµÑ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ð´ÐµÐ¼Ð¾Ð½ÑÑÑиÑÑÐµÑ Ð¿Ñименение пеÑеменнÑÑ ÑÑÐµÐ´Ñ Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑов подклÑÑениÑ:
int
main(void)
{
EXEC SQL BEGIN DECLARE SECTION;
char *dbname = "testdb"; /* Ð¸Ð¼Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
*/
char *user = "testuser"; /* Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ */
char *connection = "tcp:postgresql://localhost:5432/testdb";
/* ÑÑÑока подклÑÑÐµÐ½Ð¸Ñ */
char ver[256]; /* бÑÑÐµÑ Ð´Ð»Ñ Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑÑÑоки веÑÑии */
EXEC SQL END DECLARE SECTION;
ECPGdebug(1, stderr);
EXEC SQL CONNECT TO :dbname USER :user;
EXEC SQL SELECT pg_catalog.set_config('search_path', '', false); EXEC SQL COMMIT;
EXEC SQL SELECT current_setting('pgpro_version') INTO :ver;
EXEC SQL DISCONNECT;
printf("version: %s\n", ver);
EXEC SQL CONNECT TO :connection USER :user;
EXEC SQL SELECT pg_catalog.set_config('search_path', '', false); EXEC SQL COMMIT;
EXEC SQL SELECT current_setting('pgpro_version') INTO :ver;
EXEC SQL DISCONNECT;
printf("version: %s\n", ver);
return 0;
}СовмеÑÑимоÑÑÑ
Ðоманда CONNECT опиÑана в ÑÑандаÑÑе SQL, но ÑоÑÐ¼Ð°Ñ Ð¿Ð°ÑамеÑÑов подклÑÑÐµÐ½Ð¸Ñ Ð¾Ð¿ÑеделÑеÑÑÑ ÑеализаÑией.