Skip to content

Commit 6a15cb7

Browse files
authored
Merge pull request #6113 from EnterpriseDB/release-2024-09-30a
Release 2024-09-30a
2 parents ac521e0 + 9933d26 commit 6a15cb7

File tree

30 files changed

+682
-96
lines changed

30 files changed

+682
-96
lines changed
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
---
2+
title: Installing PostgreSQL for development and testing on Microsoft Windows
3+
navTitle: On Windows
4+
description: Install PostgreSQL on your local Windows machine for development purposes.
5+
product: postgresql
6+
iconName: logos/Windows
7+
---
8+
9+
## Prerequesites
10+
11+
- Windows 10 build 16299 or later
12+
- An account with Administrator rights
13+
14+
## Installing
15+
16+
For a development machine, we'll use [WinGet](https://learn.microsoft.com/en-us/windows/package-manager/winget/) to download and install PostgreSQL:
17+
18+
```
19+
winget install PostgreSQL.PostgreSQL.16
20+
__OUTPUT__
21+
Found PostgreSQL 16 [PostgreSQL.PostgreSQL.16] Version 16.4-1
22+
This application is licensed to you by its owner.
23+
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
24+
Downloading https://get.enterprisedb.com/postgresql/postgresql-16.4-1-windows-x64.exe
25+
██████████████████████████████ 356 MB / 356 MB
26+
Successfully verified installer hash
27+
Starting package install...
28+
Successfully installed
29+
```
30+
31+
...where `16` is the major version of PostgreSQL we wish to install. This will install PostgreSQL in unattended mode (it won't ask you questions on what components to install, where to install them, or what the initial configuration should look like... Although you may be prompted by Windows to approve admin access for the installer). The installer will use the default location (`C:\Program Files\PostgreSQL\`) with the default password (`postgres`) and also install both [StackBuilder](/supported-open-source/postgresql/installing/using_stackbuilder/) and [pgAdmin](https://www.pgadmin.org/).
32+
33+
!!! Tip
34+
35+
You can find a list of available PostgreSQL versions by using WinGet's `search` command:
36+
37+
```
38+
winget search PostgreSQL.PostgreSQL
39+
__OUTPUT__
40+
Name Id Version Source
41+
------------------------------------------------------
42+
PostgreSQL 10 PostgreSQL.PostgreSQL.10 10 winget
43+
PostgreSQL 11 PostgreSQL.PostgreSQL.11 11 winget
44+
PostgreSQL 12 PostgreSQL.PostgreSQL.12 12.20-1 winget
45+
PostgreSQL 13 PostgreSQL.PostgreSQL.13 13.16-1 winget
46+
PostgreSQL 14 PostgreSQL.PostgreSQL.14 14.13-1 winget
47+
PostgreSQL 15 PostgreSQL.PostgreSQL.15 15.8-1 winget
48+
PostgreSQL 16 PostgreSQL.PostgreSQL.16 16.4-1 winget
49+
PostgreSQL 9 PostgreSQL.PostgreSQL.9 9 winget
50+
```
51+
52+
Installers for release candidate versions of PostgreSQL are also available on EDB's website at https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
53+
54+
!!!
55+
56+
!!! SeeAlso "Further reading"
57+
58+
For more control over installation (specifying components, location, port, superuser password...), you can also download and run the installer interactively by following the instructions in [Installing PostgreSQL on Windows](https://www.enterprisedb.com/docs/supported-open-source/postgresql/installing/windows/).
59+
60+
!!!
61+
62+
## Add PostgreSQL commands to your path
63+
64+
PostgreSQL comes with [several useful command-line tools](https://www.postgresql.org/docs/current/reference-client.html) for working with your databases. For convenience, you'll probably want to add their location to your path.
65+
66+
1. Open the System Properties control panel and select the Advanced tab (or run `SystemPropertiesAdvanced.exe`)
67+
2. Activate the "Environment Variables..." button to open the envornment variables editor
68+
3. Find the `Path` variable under the "System variables" heading, and click "Edit..."
69+
4. Add the path to the bin directory of the PostgreSQL version you installed, e.g. `C:\Program Files\postgresql\16\bin\` (where *16* is the version of PostgreSQL that you installed).
70+
71+
!!! Info "This only affects new command prompts"
72+
73+
If you have a command prompt open already, you'll need to close and reopen in order for your changes to the system path to take effect.
74+
75+
!!!
76+
77+
## Verifying your installation
78+
79+
If the steps above completed successfully, you'll now have a PostgreSQL service running with the default database and superuser account. Let's verify this by connecting, creating a new user and database, and then connecting using that user.
80+
81+
### Connect with psql
82+
83+
Open a new command prompt, and run
84+
85+
```
86+
psql -U postgres
87+
__OUTPUT__
88+
Password for user postgres:
89+
90+
psql (16.4)
91+
WARNING: Console code page (437) differs from Windows code page (1252)
92+
8-bit characters might not work correctly. See psql reference
93+
page "Notes for Windows users" for details.
94+
Type "help" for help.
95+
96+
postgres=#
97+
```
98+
99+
When prompted, enter the default password (`postgres`).
100+
101+
!!! Warning
102+
103+
We're setting up an environment for local development, and have no intention of enabling remote connections or working with sensitive data - so leaving the default password is fine. Never leave the default password set on a production or multi-user system!
104+
105+
!!!
106+
107+
It's a good practice to develop with a user and database other than the default (`postgres` database and `postgres` superuser) - this allows us to apply the [principle of least privilege](https://en.wikipedia.org/wiki/Principle_of_least_privilege) and helps avoid issues later on when you go to deploy: since the superuser is allowed to modify *anything*, you'll never encounter permissions errors even if your app's configuration has you reading or writing to the wrong table, schema or database... Yet that's certainly not the sort of bug you'd wish to ship! So let's start off right by creating an app user and giving it its own database to operate on:
108+
109+
```
110+
create user myapp with password 'app-password';
111+
create database appdb with owner myapp;
112+
__OUTPUT__
113+
CREATE ROLE
114+
CREATE DATABASE
115+
```
116+
117+
!!! SeeAlso "Further reading"
118+
119+
- [Database Roles](https://www.postgresql.org/docs/current/user-manag.html)
120+
- [Privileges](https://www.postgresql.org/docs/current/ddl-priv.html)
121+
122+
!!!
123+
124+
Now let's quit psql and connect with pgAdmin as our new user. Run,
125+
126+
```
127+
\q
128+
```
129+
130+
### Connect with pgAdmin
131+
132+
Launch pgAdmin via the Start menu (you can find it under "PostgreSQL 16", or just type "pgAdmin").
133+
134+
![pgAdmin 4 default view - server groups on left, welcome message on right](images/pgadmin-default.png)
135+
136+
If you poke around a bit (by expanding the Servers group on the left), you'll see that pgAdmin comes with a default connection configured for the `postgres` user to the `postgres` database in our local PostgreSQL server.
137+
138+
Let's add a new connection for our app user to our app database.
139+
140+
1. Right-click the Servers entry on the left, select Register and click Server:
141+
142+
![pgadmin Servers group menu with register item and server submenu item selected](images/pgadmin-register-server.png)
143+
144+
2. On the General tab, give it a descriptive name like "myapp db"
145+
146+
3. Switch to the Connection tab:
147+
148+
enter connection information, using the new role and database we created in psql above:
149+
150+
- `localhost` for Host name/address
151+
- `appdb` for Maintenance database
152+
- `myapp` for Username
153+
- `app-password` for Password
154+
155+
...and check the *Save password?* option and click the Save button.
156+
157+
![pgadmin screen showing two server connections configured under Servers group on left, with PostgreSQL 16 disconnected and myapp db connected and selected, with activity charts for myapp db shown on right](images/pgadmin-connected.png)
158+
159+
Note that some areas that require system-level permissions (e.g., logs) are unavailable, as you're not connected as a superuser. For these, you can use the default superuser connection.
160+
161+
## Conclusion
162+
163+
By following these steps, you've created a local environment for developing against PostgreSQL. You've created your own database and limited-access user to own it, and can proceed to create a schema, connect application frameworks, run tests, etc.

advocacy_docs/edb-postgres-ai/migration-etl/data-migration-service/index.mdx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: EDB Data Migration Service
33
indexCards: simple
44
deepToC: true
55
directoryDefaults:
6-
description: "EDB Data Migration Service is a PG AI integrated migration solution that enables secure, fault-tolerant, and performant migrations to EDB Postgres AI Cloud Service."
6+
description: "EDB Data Migration Service is a solution that enables secure, fault-tolerant, and performant migrations to EDB Postgres AI Cloud Service."
77
product: "data migration service"
88
iconName: EdbTransporter
99
navigation:
@@ -14,8 +14,6 @@ navigation:
1414
- limitations
1515
- "#Get started"
1616
- getting_started
17-
- "#Reference"
18-
- known_issues
1917

2018
---
2119

advocacy_docs/edb-postgres-ai/migration-etl/data-migration-service/known_issues.mdx

Lines changed: 0 additions & 6 deletions
This file was deleted.

advocacy_docs/edb-postgres-ai/migration-etl/data-migration-service/limitations.mdx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
---
2-
title: "Limitations"
2+
title: "Known issues, limitations, and notes"
33
description: Revise any unsupported data types and features.
44
---
55

6-
## General limitations
6+
These are the known issues, limitations, and notes for:
7+
8+
- [General EDB Data Migration Service limitations](#general-edb-data-migration-service-limitations)
9+
10+
- [Oracle limitations](#oracle-limitations)
11+
12+
- [Postgres limitations](#postgres-limitations)
13+
14+
## General EDB Data Migration Service limitations
715

816
EDB DMS doesn’t currently support migrating schemas, tables, and columns that have case-sensitive names.
917

advocacy_docs/supported-open-source/postgresql/installing/windows.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ To perform an installation using the graphical installation wizard, you need sup
3131

3232
!!!note Notes
3333
- EDB doesn't support all non-ASCII, multi-byte characters in user or machine names. Use ASCII characters only to avoid installation errors related to unsupported path names.
34-
- If you're using the graphical installation wizard to perform a system ***upgrade***, the installer preserves the configuration options specified during the previous installation.
34+
- If you're using the graphical installation wizard to perform a system upgrade, the installer preserves the configuration options specified during the previous installation.
3535
!!!
3636

3737
1. To start the installation wizard, assume sufficient privileges, and double-click the installer icon. If prompted, provide a password. (In some versions of Windows, to invoke the installer with administrator privileges, you must select **Run as Administrator** from the installer icon's context menu.)

product_docs/docs/epas/12/epas_compat_sql/21_create_public_database_link.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ When the `CREATE DATABASE LINK` command is given, the database link name and the
3333
A SQL command containing a reference to a database link must be issued while connected to the local database. When the SQL command is executed, the appropriate authentication and connection is made to the remote database to access the table or view to which the `@dblink` reference is appended.
3434

3535
!!!note "Oracle compatibility"
36-
- For EDB Postgres Advanced Server 12, the CREATE DATABASE LINK command has been tested and certified with all the minor versions for use with Oracle versions 10g Release 2, 11g Release 2, 12c Release 1, 18c Release 1, 19c, and 23.
36+
- For EDB Postgres Advanced Server 12, the CREATE DATABASE LINK command has been tested and certified with all the minor versions for use with Oracle versions 10g Release 2, 11g Release 2, 12c Release 1, 18c Release 1, 19c, 21c, and 23.
3737
!!!
3838

3939
!!!note

product_docs/docs/epas/13/epas_compat_sql/21_create_public_database_link.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ When the `CREATE DATABASE LINK` command is given, the database link name and the
3232
A SQL command containing a reference to a database link must be issued while connected to the local database. When the SQL command is executed, the appropriate authentication and connection is made to the remote database to access the table or view to which the `@dblink` reference is appended.
3333

3434
!!!note "Oracle compatibility"
35-
- For EDB Postgres Advanced Server 13, the CREATE DATABASE LINK command has been tested and certified with all the minor versions for use with Oracle versions 10g Release 2, 11g Release 2, 12c Release 1, 18c Release 1, 19c, and 23.
35+
- For EDB Postgres Advanced Server 13, the CREATE DATABASE LINK command has been tested and certified with all the minor versions for use with Oracle versions 10g Release 2, 11g Release 2, 12c Release 1, 18c Release 1, 19c, 21c, and 23.
3636
!!!
3737

3838
!!!note

product_docs/docs/epas/14/epas_compat_sql/21_create_public_database_link.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ When you use the `CREATE DATABASE LINK` command, the database link name and the
3333
You must be connected to the local database when you issue a SQL command containing a reference to a database link. When the SQL command executes, the appropriate authentication and connection is made to the remote database to access the table or view to which the `@dblink` reference is appended.
3434

3535
!!!note "Oracle compatibility"
36-
- For EDB Postgres Advanced Server 14, the CREATE DATABASE LINK command has been tested and certified with all the minor versions for use with Oracle versions 10g Release 2, 11g Release 2, 12c Release 1, 18c Release 1, 19c, and 23.
36+
- For EDB Postgres Advanced Server 14, the CREATE DATABASE LINK command has been tested and certified with all the minor versions for use with Oracle versions 10g Release 2, 11g Release 2, 12c Release 1, 18c Release 1, 19c, 21c, and 23.
3737
!!!
3838

3939
!!!note

product_docs/docs/epas/14/epas_guide/03_database_administration/04_pgsnmpd.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: "pgsnmpd"
55
<div id="pgsnmpd" class="registered_link"></div>
66

77
!!! Note
8-
'pgsnnmpd' is deprecated as of EDB Postgres Advanced Server v14. It isn't included in EDB Postgres Advanced Server v15 and later.
8+
'pgsnnmpd' is deprecated as of EDB Postgres Advanced Server v14. It isn't included in EDB Postgres Advanced Server v15 and later. We recommend using Postgres Enterprise Manager and its [built-in interfaces for SNMP](/pem/latest/monitoring_performance/notifications/) for monitoring needs.
99

1010
`pgsnmpd` is an SNMP agent that can return hierarchical information about the current state of EDB Postgres Advanced Server on a Linux system. `pgsnmpd` is distributed and installed using the `edb-asxx-pgsnmpd` RPM package, where `xx` is the EDB Postgres Advanced Server version number. The `pgsnmpd` agent can operate as a standalone SNMP agent, as a pass-through subagent, or as an AgentX subagent.
1111

product_docs/docs/epas/15/reference/oracle_compatibility_reference/epas_compat_sql/21_create_public_database_link.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ When you use the `CREATE DATABASE LINK` command, the database link name and the
3535
You must be connected to the local database when you issue a SQL command containing a reference to a database link. When the SQL command executes, the appropriate authentication and connection is made to the remote database to access the table or view to which the `@dblink` reference is appended.
3636

3737
!!!note "Oracle compatibility"
38-
- For EDB Postgres Advanced Server 15, the CREATE DATABASE LINK command has been tested and certified with all the minor versions for use with Oracle versions 10g Release 2, 11g Release 2, 12c Release 1, 18c Release 1, 19c, and 23.
38+
- For EDB Postgres Advanced Server 15, the CREATE DATABASE LINK command has been tested and certified with all the minor versions for use with Oracle versions 10g Release 2, 11g Release 2, 12c Release 1, 18c Release 1, 19c, 21c, and 23.
3939
!!!
4040

4141
!!!note

product_docs/docs/epas/16/reference/oracle_compatibility_reference/epas_compat_sql/21_create_public_database_link.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ When you use the `CREATE DATABASE LINK` command, the database link name and the
3535
You must be connected to the local database when you issue a SQL command containing a reference to a database link. When the SQL command executes, the appropriate authentication and connection is made to the remote database to access the table or view to which the `@dblink` reference is appended.
3636

3737
!!!note "Oracle compatibility"
38-
- For EDB Postgres Advanced Server 16, the CREATE DATABASE LINK command has been tested and certified with all the minor versions for use with Oracle versions 10g Release 2, 11g Release 2, 12c Release 1, 18c Release 1, 19c, and 23.
38+
- For EDB Postgres Advanced Server 16, the CREATE DATABASE LINK command has been tested and certified with all the minor versions for use with Oracle versions 10g Release 2, 11g Release 2, 12c Release 1, 18c Release 1, 19c, 21c, and 23.
3939
!!!
4040

4141
!!!note

0 commit comments

Comments
 (0)