کتابخانه‌ی استاندارد · پایگاه داده

پستگرس db/postgres

اتصال به PostgreSQL.

واردسازی دیتابیس.پستگرس
در این صفحه
  1. گونه‌ها
  2. روال‌ها

این بسته از کتابخانه‌ی libpq استفاده می‌کند که باید روی سیستم نصب باشد؛ نمونه‌ها برای همین فقط بررسی می‌شوند و اجرا نمی‌شوند. همه‌ی ردیف‌های نتیجه یک‌جا از سرور گرفته می‌شوند، پس تعداد ردیف پیش از خواندن هم معلوم است.

گونه‌ها

پایگاه داده Database

ساختار پایگاه داده
یک اتصال PostgreSQL.
نامانگلیسیگونهتوضیح
handlehandleتهی*اشاره‌گر کتابخانه.
affectedaffectedصحیح۶۴ = 0شمار ردیف‌های تغییرکرده در آخرین دستور.
db-postgres-Client.salam
واردسازی دیتابیس
واردسازی دیتابیس.پستگرس

روال ریشه:
    اگر وارونه پستگرس.در دسترس():
        سرچاپ "کتابخانه‌ی libpq نصب نیست"
        برگشت
    پایان
    سرچاپ پستگرس.نسخه کلاینت()
    پ := پستگرس.بازکردن("host=127.0.0.1 port=5432 dbname=shop user=app password=s3cret")
    اگر وارونه پستگرس.معتبر(پ):
        سرچاپ پستگرس.خطا(پ)
        برگشت
    پایان
    سرچاپ پستگرس.نسخه سرور(پ)، پستگرس.نام پایگاه داده(پ)، پستگرس.نام کاربر(پ)، پستگرس.نام میزبان(پ)، پستگرس.درگاه(پ)
    سرچاپ پستگرس.پینگ(پ)
    _ := پستگرس.اجرا(پ، "CREATE TABLE IF NOT EXISTS items (id SERIAL PRIMARY KEY, name TEXT, price NUMERIC)")
    _ := پستگرس.اجرا(پ، "INSERT INTO items (name, price) VALUES (" + پستگرس.نقل قول(پ، "چای") + ", 12.5)")
    سرچاپ پستگرس.اجرا با شمارش(پ، "UPDATE items SET price = price * 1.1")

    ر := پستگرس.پرسمان(پ، "SELECT id, name, price FROM items ORDER BY id")
    سرچاپ ر.معتبر()، ر.تعداد ستون()، ر.تعداد ردیف()، ر.نام ستون(۱)
    تا ر.بعدی():
        سرچاپ ر.عدد صحیح(۰)، ر.متن(۱)، ر.عدد اعشار(۲)، ر.عدد صحیح۶۴(۰)، ر.خالی است(۲)، ر.نوع ستون(۱)
    پایان
    _ := ر.بستن()
    سرچاپ پستگرس.پرسمان عدد(پ، "SELECT COUNT(*) FROM items")، پستگرس.پرسمان متن(پ، "SELECT version()")

    ا := پستگرس.اتصال(پ)
    ت := ا.شروع تراکنش()
    _ := ت.اجرا("DELETE FROM items")
    _ := ت.بازگردانی()
    سرچاپ دیتابیس.پرسمان عدد(ا، "SELECT COUNT(*) FROM items")، پ.نوع()
    پستگرس.بازنشانی(پ)
    _ := پستگرس.بستن(پ)
    _ := پستگرس.بازکردن کامل("db.example.com"، ۵۴۳۲، "app"، "s3cret"، "shop")
پایان

نوع Kind

روال نوع(): رشته
نام موتور پایگاه داده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

معتبر Ok

روال معتبر(): منطقی
سالم است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

پینگ Ping

روال پینگ(): منطقی
اتصال زنده است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

اجرا Exec

روال اجرا(sql: رشته): صحیح
دستوری را اجرا می‌کند؛ صفر یعنی موفق.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

پرسمان Query

روال پرسمان(sql: رشته): dyn db.ردیف ها
پرسمانی را اجرا می‌کند و ردیف‌ها را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

شروع تراکنش Begin

روال شروع تراکنش(): dyn db.Tx
تراکنشی آغاز می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

شناسه آخرین درج LastInsertId

روال شناسه آخرین درج(): صحیح۶۴
شناسه‌ی آخرین ردیف درج‌شده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

تعداد تغییرات Changes

روال تعداد تغییرات(): صحیح۶۴
شمار ردیف‌هایی که آخرین دستور تغییر داد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

خطا Error

روال خطا(): رشته
آخرین پیام خطا.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

نقل قول Quote

روال نقل قول(s: رشته): رشته
رشته را با نقل‌قول و گریز امن برای SQL برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

بستن Close

روال بستن(): صحیح
می‌بندد و آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

ردیف ها Rows

ساختار ردیف ها
نتیجه‌ی یک پرسمان.
نامانگلیسیگونهتوضیح
handlehandleتهی*اشاره‌گر نتیجه.
rowrowصحیح = -1شماره‌ی ردیف جاری.
countcountصحیح = 0شمار ردیف‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

معتبر Ok

روال معتبر(): منطقی
سالم است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

بعدی Next

روال بعدی(): منطقی
به ردیف بعدی می‌رود؛ اگر ردیفی نماند، نادرست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

تعداد ستون ColumnCount

روال تعداد ستون(): صحیح
شمار ستون‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

تعداد ردیف RowCount

روال تعداد ردیف(): صحیح
شمار ردیف‌های نتیجه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

نام ستون ColumnName

روال نام ستون(col: صحیح): رشته
نام ستون.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

نوع ستون ColumnType

روال نوع ستون(col: صحیح): صحیح
گونه‌ی مقدار ستون در ردیف جاری، یکی از ثابت‌های نوع ... در دیتابیس.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

خالی است IsNull

روال خالی است(col: صحیح): منطقی
مقدار ستون تهی است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

متن Text

روال متن(col: صحیح): رشته
مقدار ستون به شکل متن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

عدد صحیح Int

روال عدد صحیح(col: صحیح): صحیح
مقدار ستون به شکل عدد صحیح.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

عدد صحیح۶۴ Int64

روال عدد صحیح۶۴(col: صحیح): صحیح۶۴
مقدار ستون به شکل عدد ۶۴ بیتی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

عدد اعشار Float

روال عدد اعشار(col: صحیح): اعشار۶۴
مقدار ستون به شکل اعشاری.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

بستن Close

روال بستن(): صحیح
می‌بندد و آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

تراکنش Txn

ساختار تراکنش
یک تراکنش.
نامانگلیسیگونهتوضیح
handlehandleتهی*اشاره‌گر اتصال.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

معتبر Ok

روال معتبر(): منطقی
سالم است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

اجرا Exec

روال اجرا(sql: رشته): صحیح
دستوری را اجرا می‌کند؛ صفر یعنی موفق.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

پرسمان Query

روال پرسمان(sql: رشته): dyn db.ردیف ها
پرسمانی را اجرا می‌کند و ردیف‌ها را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

ثبت تراکنش Commit

روال ثبت تراکنش(): صحیح
تراکنش را ثبت می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

بازگردانی Rollback

روال بازگردانی(): صحیح
تراکنش را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

روال‌ها

در دسترس Available

روال در دسترس(): منطقی
کتابخانه‌ی libpq در دسترس است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

نسخه کلاینت ClientVersion

روال نسخه کلاینت(): صحیح
نسخه‌ی libpq به شکل عدد، مثل ۱۶۰۰۰۰.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

نسخه سرور ServerVersion

روال نسخه سرور(d: پایگاه داده): صحیح
نسخه‌ی سرور به شکل عدد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

بازکردن Open

روال بازکردن(conninfo: رشته): پایگاه داده
با رشته‌ی اتصال، مثل host=... dbname=... یا نشانی postgresql://، وصل می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

بازکردن کامل OpenFull

روال بازکردن کامل(host: رشته، port: صحیح، user: رشته، pass: رشته، dbname: رشته): پایگاه داده
با میزبان، درگاه، کاربر، گذرواژه و نام پایگاه داده وصل می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

معتبر Ok

روال معتبر(d: پایگاه داده): منطقی
اتصال برقرار است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

پینگ Ping

روال پینگ(d: پایگاه داده): منطقی
اتصال زنده است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

بازنشانی Reset

روال بازنشانی(d: پایگاه داده)
اتصال قطع‌شده را دوباره برقرار می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

بستن Close

روال بستن(d: پایگاه داده): صحیح
می‌بندد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

خطا Error

روال خطا(d: پایگاه داده): رشته
آخرین پیام خطا.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

اجرا Exec

روال اجرا(d: پایگاه داده، sql: رشته): صحیح
دستوری را اجرا می‌کند؛ صفر یعنی موفق.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

اجرا با شمارش ExecCount

روال اجرا با شمارش(d: پایگاه داده، sql: رشته): صحیح۶۴
دستوری را اجرا می‌کند و شمار ردیف‌های تغییرکرده را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

پرسمان Query

روال پرسمان(d: پایگاه داده، sql: رشته): ردیف ها
پرسمانی را اجرا می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

نقل قول Quote

روال نقل قول(d: پایگاه داده، s: رشته): رشته
رشته را با نقل‌قول و گریز امن برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

نام پایگاه داده DatabaseName

روال نام پایگاه داده(d: پایگاه داده): رشته
نام پایگاه داده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

نام کاربر UserName

روال نام کاربر(d: پایگاه داده): رشته
نام کاربر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

نام میزبان HostName

روال نام میزبان(d: پایگاه داده): رشته
میزبان.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

درگاه Port

روال درگاه(d: پایگاه داده): رشته
درگاه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

پرسمان عدد QueryInt

روال پرسمان عدد(d: پایگاه داده، sql: رشته): صحیح
نخستین ستون نخستین ردیف به شکل عدد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

پرسمان متن QueryText

روال پرسمان متن(d: پایگاه داده، sql: رشته): رشته
به شکل متن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam

اتصال Conn

روال اتصال(d: پایگاه داده): dyn db.Connection
اتصال را به شکل اتصال مشترک برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-postgres-Client.salam